perl sagt Ihnen schon, warum :) T >
/ p>
%Vor%
Wenn Sie B :: Deparse verwenden, können Sie sehen, wie Perl Ihren Code kompiliert
%Vor%Wenn Sie $ ^ I in Perl suchen, können Sie etwas über den Schalter -i erfahren:)
%Vor%Nun, wenn wir den ersten Teil noch einmal durchgehen, fügen Sie ein extra -e hinzu, dann fügen Sie Deparse hinzu, der Schalter -i wird erklärt
%Vor%Könnte es wirklich sein, dass e in -pie als Erweiterung genommen wird? Ich denke schon %Vor%
Im Zweifelsfall: Deparse oder Deparse, -p
Das funktioniert:
%Vor%Aber das ist nicht:
%Vor%Mit anderen Worten: -pi -e funktioniert, aber -pie nicht. Warum?
Weil -i
eine optionale Erweiterung für Sicherungsdateien benötigt, z. perl -pie 's/cba/abc/g' hellofile
, und daher können zusätzliche Flags nicht direkt nach e
folgen.
Von perldoc perlrun
-i [Erweiterung]
gibt an, dass Dateien, die von & lt; & gt; Konstrukt soll bearbeitet werden an Ort und Stelle. Dies geschieht durch Umbenennen der Eingabedatei und Öffnen der Ausgabe Datei mit dem ursprünglichen Namen und wählen Sie diese Ausgabedatei als Standard für print () -Anweisungen. Die Erweiterung, sofern angegeben, wird verwendet Ändern Sie den Namen der alten Datei, um eine Sicherungskopie zu erstellen Regeln:
Wenn keine Erweiterung angegeben ist, wird keine Sicherung erstellt und die aktuelle Datei ist überschrieben.
Wenn die Erweiterung kein * enthält, wird sie an das Ende angehängt des aktuellen Dateinamens als Suffix. Wenn die Erweiterung eins enthält oder mehr * Zeichen, dann wird jedes * durch das aktuelle ersetzt Dateiname. In Perl ausgedrückt, könnte man sich folgendes vorstellen:
Weil -i
eine optionale Erweiterung für Sicherungsdateien benötigt, z. -i.bak
, und daher können zusätzliche Flags nicht direkt nach -i
folgen.
Von perldoc perlrun
-i [Erweiterung]
gibt an, dass Dateien, die von & lt; & gt; Konstrukt soll bearbeitet werden an Ort und Stelle. Dies geschieht durch Umbenennen der Eingabedatei und Öffnen der Ausgabe Datei mit dem ursprünglichen Namen und wählen Sie diese Ausgabedatei als Standard für print () -Anweisungen. Die Erweiterung, sofern angegeben, wird verwendet Ändern Sie den Namen der alten Datei, um eine Sicherungskopie zu erstellen Regeln:
Wenn keine Erweiterung angegeben ist, wird keine Sicherung erstellt und die aktuelle Datei ist überschrieben.
Wenn die Erweiterung kein * enthält, wird sie an das Ende angehängt des aktuellen Dateinamens als Suffix. Wenn die Erweiterung eins enthält oder mehr * Zeichen, dann wird jedes * durch das aktuelle ersetzt Dateiname. In Perl ausgedrückt, könnte man sich folgendes vorstellen:
perl sagt Ihnen schon, warum :) T >
/ p>
%Vor%
Wenn Sie B :: Deparse verwenden, können Sie sehen, wie Perl Ihren Code kompiliert
%Vor%Wenn Sie $ ^ I in Perl suchen, können Sie etwas über den Schalter -i erfahren:)
%Vor%Nun, wenn wir den ersten Teil noch einmal durchgehen, fügen Sie ein extra -e hinzu, dann fügen Sie Deparse hinzu, der Schalter -i wird erklärt
%Vor%Könnte es wirklich sein, dass e in -pie als Erweiterung genommen wird? Ich denke schon %Vor%
Im Zweifelsfall: Deparse oder Deparse, -p
Tags und Links perl