配列とハッシュのリファレンス

back
配列のリファレンス
$array = [1,2,3,4,5];

デリファレンス(要素へのアクセス)
$array->[0];
$$array[1];

まぁ、どっちでもいいけど、デリファレンスのデリファレンス…となると、後者は
$array = [ 1, 2, 3, 4, [10, 11, 12] ];
print ${$$array[4]}[1] . "\n";
となって、気が狂いそうになるので、前者がお勧め。
ちなみに
print $array->[4]->[1] . "\n";     # 11 です

ループ処理
foreach (@$array) {
  print "$_\n";
}


ハッシュのリファレンス
$hash = { "key1" => "value1",
          "key2" => "value2",
          "key3" => "value3" };

デリファレンス(要素へのアクセス)
$hash->{"key1"}
$$hash{"key2"}

これも同じく、デリファレンスのデリファレンス(略)

ループ処理
foreach (keys %$hash) {
  print $_ . ": " .$hash->{$_}. "\n";
}

back