>Perl は、ガーベジコレクションの機能を備えています。
だそうです。他のサイトも見たけど

undef @hoge;
は開放できて
@hoge = ();
は開放できないみたい。

====

えと、すみません。 今度は調べたのですが分からないので
また新しい質問させてください。

# a.pl
$hoge = "a";1;

# b.pl
require "a.pl";print $hoge."\n";exit 0;

で以下のように実行すると

$ perl -w b.pl
Name "main::hoge" used only once: possible typo at b.pl line 3.
a
$

と出てしまいます。この警告を消すことは出来ないのでしょうか?
よろしくお願いします。