指定の名前のすべての変数をクリアする
reset は、EXPR に指定された 1 文字から始まる変数をクリアします。
                対象は該当のパッケージ内の変数すべてです。
                ただし、my で局所化された変数はクリアされず、何も影響を受けません。
                reset は、対象の変数が文字列なら undef に、
                配列なら空の配列に、ハッシュなら空のハッシュにします。
            
次のサンプルコードは、先頭が v で始まる変数をクリアします。
our $var1 = 'abc';
our @var2 = ( 1, 2, 3 );
our %var3 = { foo => 1, bar => 2 };
reset 'v';
print defined($var1) ? $var1 : 'undefined', "\n";    # undefined
print scalar(@var2), "\n";                           # 0 (空の配列)
print scalar( keys %var3 ), "\n";                    # 0 (空のハッシュ)reset に 2 文字以上を引数に与えると、それぞれの文字を別々に解釈します。
                たとえば、"ab" を引数に与えると、
                先頭が a から始まる変数と、先頭が b から始まる変数が対象になります。
our $alpha = 'a';
our $beta  = 'b';
reset 'ab';
print defined($alpha) ? $alpha : 'undefined', "\n";    # undefined
print defined($beta)  ? $beta  : 'undefined', "\n";    # undefinedreset にはハイフンを使って文字の範囲を指定することもできます。
                次のサンプルは、小文字アルファベットで始まる変数が対象になります。
our $alpha = 'a';
our $zeta  = 'z';
reset 'a-z';
print defined($alpha) ? $alpha : 'undefined', "\n";    # undefined
print defined($zeta)  ? $zeta  : 'undefined', "\n";    # undefinedハイフンで文字の範囲を指定できると言っても、"A-Z" を指定するのはお勧めできません。
                なぜなら、@ARGV や @INC といった配列や
                %ENV といったハッシュまで一掃されてしまうからです。
            
reset の引数 EXPR を省略すると、正規表現 m?pattern? 検索をリセットします。
            
reset はよくループの最後の continue ブロックで使われます。