リファレンスの扱い方
PHP/Javaエンジニアがperlエンジニアになる②
リファレンス
取得
my $i = 1; my $ref = \$i; #参照
\
とつけると参照の取得になる
配列も同様に
my $arr_ref = \@array
参照の先の値を取りたいときは
スカラーなら$
をつける
print $$i;
配列なら@
をつける
for(@$ref){ print "$_", "\n"; }
配列の中身(がスカラーなら)$
$$ref[0]
要はリファレンスに限らず$
はスカラーを取るとき、@
は配列を取るとき、%
はハッシュを取るときに先頭につける
リファレンス的には$,@,%つけると覚えるより、$をつけると覚えたほうがわかりやすいかも
$ref->[0]
この方がスッキリわかりやすい
多次元配列
こうはかけない
$arr = ( (1,2),(3,4),(5,6) );
展開されて(1,2,3,4,5,6)
とおなじになる
$arr = ( [1,2],[3,4],[5,6] );
リファレンスで作る必要がある なんともまあ面倒な仕様
これはハッシュも同じ