配列、ハッシュのデリファレンス[Perl]

メモです。

# 配列
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 }

以上。