Last Update 2008/05/18
グローバル変数や??演算子をリセットします。
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