【发布时间】:2013-07-08 10:41:54
【问题描述】:
在 perl 5.10.1 中,是否可以在使用 each 运算符迭代哈希时向哈希添加新成员?
就像在这段代码中(为谷歌图表准备数据),我有一个数组的哈希值,我试图移动每个数组的最后一个元素:
sub split_aclr($) {
my $csvData = shift;
while (my ($csv, $href) = each %$csvData) {
next unless $csv =~ /_ACLR_/i;
my $len = scalar @{$href->{MEASUREMENT}};
if ($len > 1 && $href->{MEASUREMENT}->[$len - 1] eq 'CARRIER_CHANNEL') {
while (my ($key, $arr) = each %$href) {
my $moved = pop @$arr;
$csvData{$csv . '_CARRIER_CHANNEL'} = {$key => [ $moved ]};
}
}
}
}
【问题讨论】: