リファレンスとはなんぞや
データを入れる箱を変数とする。その箱のアドレスがリファレンス。
リファレンスが指す箱の中にあるデータにアクセスすることがデリファレンス。
ちなみに変数は箱に付けた名前。
変数を使った代入
$a = 5; $b = $a; $b = 0; print $a; #=> 5 print $b; #=> 0
箱の中のデータをコピーして別の箱に入れる。
$aと$bは別の箱なので、$bの値を変えても、$aの値は変わらない。
リファレンスを使った代入
$c = 5; $d = \$c; # リファレンスの代入 $$d = 0; # デリファレンス print $c; #=> 0 print $$d; #=> 0
箱の中のデータではなく、箱のアドレスを別の箱に入れる。
$cと$$dは同じ箱なので、$$dの値が変われば、$cの値も変わる。