gpt4 book ai didi

arrays - Perl : Print Name of Array Passed to sub routine

转载 作者:行者123 更新时间:2023-12-03 17:50:45 25 4
gpt4 key购买 nike

我将一个数组和一个标量传递给一个函数,以检查该值是否属于数组的一部分,以防它不是数组的一部分,然后推送到数组。仅供引用,它必须显示的是什么,而插入它必须显示数组的名称。这是我的代码

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 做这样的事情,但这不是一个好主意。

关于arrays - Perl : Print Name of Array Passed to sub routine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com