6

Perlドキュメントには次のように記載されています。

e  Evaluate 'replacement' as an expression
r  Return substitution and leave the original string untouched.

置換パターンで使用できるフラグです。フラグを置換パターンに渡すrと、構文エラーとして解釈されます。私はPerl5.8.8を実行しています。私のバージョンのPerlでサポートされていない可能性はありますか?また、誰かがフラグの使用方法と新しく作成された置換を呼び出す方法の実用的な例を提供できますか?

4

1 に答える 1

15

おそらく、5.8.8のドキュメントを読む必要がありますか?/ rが5.14に追加されました!

5.8.8では、次と同等の処理を実行できます

s/foo/bar/r

do { (my $s = $_ ) =~ s/foo/bar/; $s }

s /// rの使用例:

print "abba" =~ s/b/!/rg;         # Prints a!!a

my $new = $old =~ s/this/that/r;  # Leaves $old intact.

my $trimmed = $val =~ s/^\s+//r =~ s/\s+\z//r;
my $trimmed = (($val =~ s/^\s+//r) =~ s/\s+\z//r);  # Same as previous
于 2012-09-14T16:57:17.500 に答える