静的なハッシュの代入
my %hash = (
NO => 1,
RECORD_NAME => "TEST",
ENC_RECORD_NAME => "TEST_ENC"
);
ハッシュをリスト配列に追加(「{}」で囲まれているときはハッシュへのリファレンス?)
my $item = {
NO => 1,
RECORD_NAME => "TEST",
ENC_RECORD_NAME => "TEST_ENC"
};
my @item_list;
push(@item_list, $item);
リストのループ
foreach (@list) {
print $_ ,"\n";
}
ハッシュのループ
while(my($key, $value) = each %hash) {
print $key,"=>",$value,"\n";
}
ハッシュのキー取り出しループ
foreach my $key (sort keys %hash) {
print $hash{$key},"\n";
}
参照渡しのハッシュを、ハッシュ変数にキャスト(リスト変数も同様)
my %p_hash;
method(\%p_hash);
sub method($) {
my ($prm_hash) = @_;
while(my($key, $val) = each %$prm_hash)
{
print $key,"=>",$value,"\n";
}
}
参照渡しのハッシュを、ハッシュ変数にキャストその2
my %p_hash;
method(\%p_hash);
sub method($) {
my ($prm_hash) = @_;
$$prm_hash{"KEY"} = "VALUE";
}
ハッシュのハッシュ
my %hash_hash =
( 'KEY1' => { 'KEY1A'=>'VALUE_1A', 'KEY1B'=>'VALUE_1B'},
'KEY2' => { 'KEY2A'=>'VALUE_2A', 'KEY2B'=>'VALUE_2B'} );
print $hash_hash{"KEY1"}{"KEY1B"},"\n";
ハッシュの使い方
my %hash= ();
$hash{"aaa"} = 1;
$hash{"bbb"} = 2;
%hash = ("ccc", 3);