我在 Perl 中遇到了一个很小的困难。
我正在阅读一个文本文件,其中包含一些信息。当我阅读文本文件时,我从文本中选择了一些键;当我进一步阅读时,我希望为键保存一组值。
参见例如
Alpha 1
Something: 2132
Something: 2134
Alpha 2
Something: 2132
Something: 2134
我将文件读入一个名为行的数组中:
my $h;
my $alpha;
for my $line (@lines){
if ($line =~ m/Alpha (\d+)/){
$alpha = $1;
$h->{$alpha} = (); # create empty array for key?
}
elsif ($line =~ m/Something: (\d+)/){
push($h->{$alpha}, $1);
}
}
显然,它给了我一个错误:
Type of arg 1 to push must be array (not hash element) at test.pl line 28, near "$1)"
Execution of test.pl aborted due to compilation errors.
无法弄清楚这一点。