Perlでハッシュやら配列やらの戻り値を参照する方法
移転しました。
ハッシュやら配列やらをサブルーチンで定義して、呼び出し元で参照する際にいつもはまるので、はまらないようにサンプルPGのメモを記載しておく。
※変数名とかは適当ですのであしからず。
use strict; use warnings; sub foo { my @list = ("aa","bb","cc"); my $hash = { sub_a => "ssss_a", sub_b => "ssss_b", sub_c => "ssss_c", }; my $ref_hash = { str_param => 'hoge', list_param => \@list, hash_param => $hash, }; return $ref_hash; } my $hoge = &foo(); # 文字列表示 print "str_param == ".$hoge->{"str_param"}."\n"; # リストの表示 my @list_out = @{$hoge->{"list_param"}}; foreach my $list_str ( @list_out ){ print "list_param == ".$list_str."\n"; } # hashの表示 my $naibu_hash = $hoge->{"hash_param"}; print "naibu_hash_a == ".$naibu_hash->{"sub_a"}."\n"; print "naibu_hash_b == ".$naibu_hash->{"sub_b"}."\n"; print "naibu_hash_c == ".$naibu_hash->{"sub_c"}."\n";