arrays – Perl:打印到子例程的数组的名称

前端之家收集整理的这篇文章主要介绍了arrays – Perl:打印到子例程的数组的名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将一个数组和一个标量传递给一个函数来检查该值是否是数组的一部分,以防它不是部分,然后推送到数组.为了参考目的,它必须显示的是在推动它时必须显示数组的名称.这是我的代码

use v5.10.1;
use strict;
use warnings;

my @ARRAY1 = qw/This is array of backup /;
my @ARRAY2;


my $value = "version.xml" ;


sub CheckPush($$)
{

my $val = shift (@_);
my $array_ref= shift (@_);

     unless ($val ~~ @$array_ref )
     {
        print "$val is going to push to array  \n";
        push(@$array_ref,$val);
     }   
return (@$array_ref);
} 

@ARRAY1 = CheckPush($value,\@ARRAY1);
print "out \n";
foreach $_ (@ARRAY1) {
print "$_ \n";
}

@ARRAY2 = CheckPush ($value,\@ARRAY2);
print "out2 \n";
foreach $_ (@ARRAY2) {
print "$_ \n";
}

出局应该如下

$val is going to push Array (@ARRAY1)
$val is going to push Array (@ARRAY2)

解决方法

传递数组的名称和引用;这并不难.

人们使用源过滤器或PadWalker :: var_name做这样的事情,但这不是一个好主意.

猜你在找的Perl相关文章