配列、ハッシュのデリファレンス[Perl]
2009年8月4日
メモです。
# 配列
my @array = ('a','b');
my $array_ref = \@array; #リファレンス
my @array2 = @$array_ref; #デリファレンス
# ハッシュ
my %hash = ('a'=>'b' , 'c'=>'d');
my $hash_ref = \%hash; #リファレンス
my %hash2 = %$hash_ref; #デリファレンス
こんな感じで使ってたんですが、Catalystとか使うと、そもそも扱う値がハッシュのリファレンスばかりで、forとかで回すときデリファレンスした値を配列に入れて・・とかやるのが汚いなーと思って調べたら
for( @{ $array_ref }){
# 何か処理
}
# $c->stash->{ hoge }に配列のリファレンス
for( @{ $c->stash->{hoge} }){
# 何か処理
}
これでよかったんですね・・。
# ハッシュの場合は
%{ $hash_ref }
以上。