都道府県穴埋めゲーム

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

A 回答 (1件)

Perl は、ガーベジコレクションの機能を備えています。


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報