Loose-Info.com
Last Update 2008/05/18
TOP - Perl - 関数 - reset

グローバル変数や??演算子をリセットします。

reset 式1

式1
リセットされる変数の先頭の文字を指定する式
省略した場合は演算子??をリセット

(例1)
$aaa = "aaa"; $bbb = "bbb"; $ccc = "ccc"; $ddd = "ddd"; $eee = "eee"; $fff = "fff"; $ggg = "ggg"; print $aaa . $bbb . $ccc . $ddd . $eee . $fff . $ggg . "\n"; # 先頭の文字がaの変数をリセット reset "a"; print $aaa . $bbb . $ccc . $ddd . $eee . $fff . $ggg . "\n"; # 先頭の文字がbとcの変数をリセット reset "bc"; print $aaa . $bbb . $ccc . $ddd . $eee . $fff . $ggg . "\n"; # 先頭の文字がdからfの変数をリセット reset "d-f"; print $aaa . $bbb . $ccc . $ddd . $eee . $fff . $ggg . "\n";

実行結果
aaabbbcccdddeeefffggg bbbcccdddeeefffggg dddeeefffggg ggg

(例2)
$n = 0; $a = "abcdefg"; while (($a =~ ?def?) && ($n < 5)) { print "マッチ\n"; $n++; } reset; $n = 0; while (($a =~ ?def?) && ($n < 3)) { print "マッチ(リセット有り)\n"; # ??演算子をリセット reset; $n++; }

実行結果
マッチ マッチ(リセット有り) マッチ(リセット有り) マッチ(リセット有り)

(例3)
$a_1 = "aaa"; # こちら側はmyを使用して宣言 my $a_2 = "bbb"; print $a_1 . " : " . $a_2 . "\n"; reset "a"; # myを利用した方はリセットされない print $a_1 . " : " . $a_2 . "\n";

実行結果
aaa : bbb : bbb