Perlについての質問箱 33箱目
■ このスレッドは過去ログ倉庫に格納されています
0216デフォルトの名無しさん
2007/11/01(木) 15:39:13sub foo{
my @l, %h;
print '"'.$h{'ex'}.'"=>';
$h{'ex'} = &bar(1,2,\%h);
print '"'.$h{'ex'}.'"=>';
$h{'ex'} .= &bar(1,2,\%article_replacements);
print '"'.$h{'ex'}.'"';
}
sub bar{
my $a = $_[0], $b = $_[1], %h = %{$_[2]};
return 'A';
}
というプログラムについてなのですが、fooの1行目が
my %h, @l;だと""=>"A"=>"AA"と表示され、
my @l, %h;だと""=>"A"=>""と表示されます。
変数の順番を入れ替えただけで結果が変わってしまうのは
なぜなのでしょうか?
Perlのバージョンはv5.8.8 built for MSWin32-x86-multi-threadです。
■ このスレッドは過去ログ倉庫に格納されています