- 403 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 22:28:17 ]
- s///gが一種のループなのでこんな手もある。
my $mode; $text =~ s{($regexp)}{ my $r; if (!defined $mode) { my $key; do { print "置換する? [y]es [n]o [a]残り全て [g]キャンセル "; $key = <STDIN>; chomp($key); } while ( $key ne "y" and $key ne "n" and $key ne "a" and $key ne "g" ); if ($key eq 'y') { $r = $replace; } elsif ($key eq 'n') { $r = $1; } elsif ($key eq 'a') { $mode = 'a'; } else { $mode = 'g'; } } if ($mode eq 'a') { $r = $replace; } elsif ($mode eq 'g') { $r = $1; } $r; }gme;
|

|