正在将一个数组和一个标量传递给一个函数,以检查该值在数组中是否在其中(如果不是该值的一部分),然后推入数组。仅供参考,按下时它必须显示的是必须显示数组的名称。这是我的代码
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来做到这一点,但这不是一个好主意。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句