我正在尝试这样做:
my @Amode=('1','2','3');
my @Bmode=('1','2','3');
my @Cmode=('1','2','3');
my @Atemp=('1','2','3');
my @Btemp=('1','2','3');
my @Ctemp=('1','2','3');
my @mode=('A','B','C');
foreach (@mode) {
my $newmode = join("",$_,mode);
my $newtemp = join("",$_,temp);
}
我想通过$ newmode访问@Amode信息。这可能吗?
答案 0 :(得分:6)
我看到你在那里做的是什么,但说实话,我认为你让它变得比它需要的更复杂。
为什么不使用哈希?
my $modes = {
'A' => [1,2,3],
'B' => [1,2,3],
'C' => [1,2,3],
};
foreach my $mode (keys %$modes){
... do something with $modes->{$mode};
}
答案 1 :(得分:4)
您不能将变量名称串在一起,但您可以创建哈希键并访问它们。
E.g。
my %data = ( "A" => \@Amode, "B" => \@Bmode, "C" => \@Cmode );
my @mode = ("A", "B", "C");
for (@mode) {
print @{$data{$_}};
}