配列があります。配列内の要素には、それらの間にセミコロンが含まれています。
配列は次のようになります。
@Array = { "AUT;E;1",
"AUT;E;2",
"CHE;A;1",
"CHE;C;4"
};
';'を使用して配列要素を分割したい (セミコロン)区切り文字として。
ハッシュのハッシュを使用して、「AUT」をキーとして保存し、その下にE=>1およびE=>2を保存します。
つまり、ハッシュが必要でした
%HashOfElem = (
'AUT' => {
'E' => 1,
'E' => 2
},
'CHE' => {
'A' => 1,
'C' => 4
}
)
その目的のために、私は期待どおりに動作しない次のコードを書きました:(
foreach(@Array)
{
my @TmpArray = split(/;/,$_);
%HashOfElem = (
$TmpArray[0] => {
$TmpArray[1] => $TmpArray[2]
}
);
}
私のアプローチが間違っている場合、perlのどのデータ構造を使用して上記の目的を達成できますか?
助けてください..