Die Perl-doc heißt es:Wie verwendet man das Flag/r in Perl regex?
e Evaluate 'replacement' as an expression
r Return substitution and leave the original string untouched.
sind verfügbar Flaggen in Ersatzmuster verwendet werden. Wenn ich das Flag r
an mein Substitutionsmuster übergebe, wird es als Syntaxfehler interpretiert. Ich betreibe Perl 5.8.8. Ist es möglich, dass es in meiner Version von Perl nicht unterstützt wird? Kann jemand auch ein funktionierendes Beispiel für die Verwendung der Flagge und das Aufrufen des neu erstellten Ersatzes bereitstellen?
Könnten Sie zeige, wie es in 5.14 aufgerufen wird. Ich bin verwirrt darüber, wie es eine andere Variable zurückgibt, aber Sie müssen immer noch die Variable notieren, um es auszuführen. Zum Beispiel: $ var = ~ s/this/that/r; Wo wird die neue Variable gespeichert? – user1671989
@ user1671989, Es wird zurückgegeben. «' Print "abc" = ~ s/b /!/Rg; '» druckt «' a! C' ». – ikegami
Also, wenn es zurückgegeben wird, und ich nannte es wie $ var = ~ s/this/that/r; es würde tatsächlich überschreiben $ var? Wie kann ich es auf $ var ausführen und es an $ new_var zurückgeben? Tut mir leid, dass ich ein Noob bin, weil ich Schwierigkeiten habe, meinen Kopf darum zu wickeln. – user1671989