我有此腳本如何將哈希數組推送到哈希數組?
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
my %acc =();
&insert_a(\%acc, 11);
&insert_p(\%acc, 111);
print Dumper %acc;
sub insert_a() {
my $acc_ref = shift;
$acc_ref->{"$_[0]"} = {
a => -1,
b => -1,
c => [ { }, ],
}
}
sub insert_p() {
my $acc_ref = shift;
my @AoH = (
{
d => -1,
e => -1,
}
);
push $acc_ref->{"$_[0]"}{"c"}, @AoH;
}
在那裏我試圖插入AoH
爲c
這也是一個AoH
,但我正在逐漸
Type of arg 1 to push must be array (not hash element) at ./push.pl line 36, near "@AoH;"
Execution of ./push.pl aborted due to compilation errors.
任何想法如何做到這一點?
感謝您教我良好的編碼習慣。 – 2011-02-23 11:12:36
很抱歉,它並不是很霸道:-) Perl的數據結構起初可能令人望而生畏,但當你習慣時,它們非常靈活。蘭德爾·施瓦茨(幾個Perl書籍的作者)有一個很好的文章在這裏展示引用和間接引用的所有組合:http://www.stonehenge.com/merlyn/UnixReview/col68.html;並且http://perldoc.perl.org/perldsc.html(來自cmdline的'perldoc perldsc')還有更多信息。 – 2011-02-23 11:17:59