• ベストアンサー

Perlのガーベージコレクションについて?

perlにガーベージコレクションの機能はあるのでしょうか? やたらメモリが消費されているので、もしガーベージ五れクションの機能がPerlになければ、 確保した領域は、undef $hensu; とすれば、メモリは確実に解放されるということでしょうか?

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

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

Perl は、ガーベジコレクションの機能を備えています。 解放されるタイミングは、領域に対する参照が無くなった時です。 通常ある変数か保持している領域は、その変数からの参照がなくなれば、解放されます。 1つの変数がundef されても、他の変数による参照がされている場合には解放されません。 Perl では、循環した参照というものも作成できるため、 そのような場合には、どこからも(ユーザが利用できないという意味)参照されてはいないのに(自己参照しているので)解放されない場合があります。 そのような場合においても、プログラムの終了時には、全ての領域が開放されます。

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

関連するQ&A