我有很多数组保存为自动化的数据,现在我需要一个方法来返回一个给定名称的数组。我怎么能这样做。请帮助。
#!/usr/bin/perl -w
use strict;
my @array1 = (1..4);
sub retArray {
my $arr = shift;
print $arr;
##Here i need to get the array with String which i got from args
}
my @arrayReturned = retArray('array1');
use Data::Dumper;
print "\n";
print Dumper(\@array1);
提前致谢
答案 0 :(得分:2)
将数组放入哈希:
my %arrays = ( 'array1' => [1..4] );
sub retArray {
my $array_name = shift;
return @{$arrays{$array_name}};
}
列表可能更合适,请参阅:How can I use a variable as a variable name in Perl?
my @arrays;
push @arrays, \@array1;
push @arrays, \@array2;
sub retArray {
my $array_num = shift;
return @{$arrays[$array_num]};
}
答案 1 :(得分:1)
使用数组名称作为键创建一个哈希,并为包含所需值的anon数组引用值。
说出类似的话:
my %map_array_ref;
$map_array_ref{'array1'} = [1,2,3];