perl 5.10.1에서 each
연산자로 반복하면서 새 멤버를 해시에 추가해도 괜찮습니까?"each"로 해쉬를 반복하면서 새 멤버 추가하기
Smth. 이 코드처럼 내가 배열의 해시의 해시를 가지고, (구글 차트에 대한 데이터를 준비) 나는 각 배열의 마지막 요소로 이동하는 것을 시도하고있다 : 그것은 아니다
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 ]};
}
}
}
}
고마워요! 코드에서'@ keys'를 생략하고'for my $ k (keys % hash) '를 사용하면됩니까? –
@AlexanderFarber 네,이 경우'@ keys '를 생략 할 수 있습니다. 키 목록 복사를 명확하게하기 위해 추가 변수를 사용했습니다. 그러나 반복되는 배열을 수정하려면'foreach' 루프를 사용할 수 없습니다. – amon