橋本@自己レスです。 > 配列やハッシュを初期化するのに、 > @ary = ''; > %hash = ''; > > とかで、初期化しているつもりが、1つ目の要素が、できてしまっているのに > if( defined @ary[0] ) が、真になるので、気づいて、 > どうして、初期化するんだろう。 > undefined %hash; かなとか、 > my ( $a, $b, %c ); とかの記述をよく見かけるので、 > > ( @ary, %hash ); > だけでいいのかな、とか、いまだに、よくわかりません。 テストしました。 @ary = (); %hash = (); が、正解のようですね。