• ベストアンサー

配列の使い方について

my $out = []; push( @$out, "a" ); push( @$out, "b" ); my $all = join( "", @$out); print $all; このようなコードをみかけたのですが、 どうして配列の部分の記述が「@out」でなく「@$out」なのでしょうか? 一番最後の@$outを@outに変更すると、 実行しても何も表示されなくなりました。 pushのところの@$outを@outとしても問題なく実行されました。

質問者が選んだベストアンサー

  • ベストアンサー
  • hara_peko
  • ベストアンサー率28% (11/38)
回答No.1

下記のページをご覧になるとよろしいかと。

参考URL:
http://www.rfs.jp/sb/perl/02/10.html
tochanx
質問者

お礼

SMARTは以前から読んでおりましたが、見落としていたようです。 どうもありがとうございます。 ところでオフトピなんですが、SMARTの社員さんたちやっと海から帰ってきたのですね…

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

[ ] は、無名配列を作ってそのリファレンスを返します。 $out には、どっかにある配列へのリファレンス(参照、メモリへのアドレス)が入っているのです。 @$out とすることで、リファレンスを配列として使う(デリファレンスする)ことができます。

tochanx
質問者

お礼

なるほど!無名配列ですか!勉強になりました。 どうもありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A