以前の質問で、スライスを使用して Perl ハッシュを初期化する方法を尋ねました。これは次のように行われます。
my %hash = ();
my @fields = ('currency_symbol', 'currency_name');
my @array = ('BRL','Real');
@hash{@fields} = @array;
ここで、より複雑なハッシュを想像してみましょう。初期化方法は次のとおりです。
my %hash = ();
my $iso = 'BR';
$hash->{$iso}->{currency_symbol} = 'BRL';
$hash->{$iso}->{currency_name} = 'Real';
print Dumper($hash);
これにより、次の結果が得られます。
$VAR1 = {
'BR' => {
'currency_symbol' => 'BRL',
'currency_name' => 'Real'
}
};
問題は、スプライス メソッドを使用してこの特定のハッシュを初期化する方法です。