変数扱うときに、参照なのか実体なのかを意識させられる。

■リファレンス あいまいだったリファレンスのことが整理できた。
スカラー
$a = '1';
$a_ref = \$a;
print "$a_ref\n"; # SCALAR(0x182f310)と表示
print "${$a_ref}\n"; # 1と表示
●配列
@b = 1..5;
$b_ref = \@b;
print "$b_ref\n"; # ARRAY(0x182f5a4)と表示
foreach (@{$b_ref}){ print $_ . "\n"; } # 1,2,3,4,5と表示

  • ${変数の参照値が格納されてる変数}と書くと実体
  • @{配列の参照値が格納されてる変数}と書くと配列の実体にアクセスできる