如何更改数组的名称以在其中添加另一项
@array=("1, 2, 3, 4", "5, 6, 7, 8");
$c=0;
foreach $x(@array){
push ("@value_$c", split(", ", $x));
$c++;}
所以输出应该是这样的:
@value_0=(1,2,3,4)
@value_1=(5,6,7,8)
PS:我知道写“@ value_ $ c”
是不正确的答案 0 :(得分:6)
使用哈希,
use strict;
use warnings;
my @array = ("1, 2, 3, 4", "5, 6, 7, 8");
my %hash;
foreach my $c (0 .. $#array) {
push @{$hash{"value_$c"}}, split(/, /, $array[$c]);
}
use Data::Dumper;
print Dumper \%hash;
输出
$VAR1 = {
'value_1' => [
'5',
'6',
'7',
'8'
],
'value_0' => [
'1',
'2',
'3',
'4'
]
};
或使用二维数组,
my @result;
foreach my $c (0 .. $#array) {
push @result, [ split(/, /, $array[$c]) ];
}