Perlについての質問箱 42箱目
■ このスレッドは過去ログ倉庫に格納されています
0044デフォルトの名無しさん
2009/11/12(木) 15:27:31という配列の各要素をカンマ区切りでハッシュkeyとvalueに分け、かつ特定のkeyでぐぎった2次元配列にしたいです。
具体的には上記の配列を
$list[0]{aa} = 33;
$list[0]{bb} = 44;
$list[0]{cc} = 55;
$list[1]{aa} = xx;
$list[1]{bb} = bb;
$list[1]{cc} = 44;
$list[2]{aa} = yy;
$list[2]{bb} = 44;
$list[2]{cc} = 55;
というような2次元配列にしたいので以下のように書いたのですが、
最後のprintでは何も表示されませんでした。何がいけなかったのでしょうか?
my @list;
my %data;
my @string = qw{aa,33 bb,44 cc,55 aa,xx bb,44 cc,55 aa,yy bb,44 cc,55};
my $n = 0;
foreach my $item (@string) {
my ($key, $value) = split qq{,}, $item;
$data{$key} = $value;
if($key eq qq{cc}) {
$list[$n] = %data; %data=(); $n++;
}
}
print $list[0]{aa};
■ このスレッドは過去ログ倉庫に格納されています