Ähnlich wie erreiche ich das gleiche in Perl?
Ich möchte
konvertieren %Vor%Ich versuche, Beispielen zu folgen, die hier gegeben wurden, aber wenn ich etwas sage wie
%Vor%Ich erhalte einen Kompilierungsfehler. Ich habe versucht, den Schrägstrich zu umgehen, aber ich bekomme dann andere Compilerfehler.
= ~
unterscheidet sich sehr von =~
. Die erste ist Zuweisung und bitweise Negation, die zweite ist der Bindungsoperator, der mit Regexes verwendet wird.
Was Sie wollen, ist das:
%Vor% Beachten Sie die Verwendung der globalen Option /g
, um Änderungen in der gesamten Zeichenfolge vorzunehmen. In Ihrem Fall sieht es so aus, als müssten Sie:
Wenn Sie eine lesbare Regex möchten, können Sie das Trennzeichen austauschen: s#\#/#g;
Wenn Sie Ihre ursprüngliche Zeichenfolge beibehalten möchten, können Sie sie vor dem Ersetzen kopieren. Sie können auch die Transliteration verwenden: tr#\#/#
- in diesem Fall brauchen Sie keine globale Option.
Kurz gesagt:
%Vor%Dokumentation:
Sie teilen den Operator =~
auf und verpassen den globalen Modifikator. Ordnen Sie $dir
zu $replacedString
zu und führen Sie dann die Ersetzung durch.
Sie können tr
, den Übersetzeroperator, anstelle des s
-Operators verwenden, um zu erhalten einfacherer Code.
Sie suchen möglicherweise nach File :: Spec- & gt; canonpath oder Path::Class ohne es zu merken.