配列やハッシュをサブルーチンで使う場合
キャストっぽいなぁ。

my @array1=('1','2');
my %hash2=('2'=>'1','1'=>'2');
&hoge(\@array1, \%hash2);


exit 1;


sub hoge {
my @a1 = @{$_[0]};
my %h2 = %{$_[1]};

print $a1[0]."\n";
print $h2{'2'}."\n";
}


パーラー的にはこう書くそうです。
上記のようにキャストをすると
中身が全てコピーされてしまうとのこと。

sub hoge {
my($a1, $h2) = @_;

print $a1->[0]."\n";
print $h2->{'2'}."\n";
}