Ich habe eine Datei, die viele davon enthält
%Vor%und ich möchte den Buchstabencode mit einem Perl-Einzeiler ausgeben. Also versuche ich
%Vor%aber es wird nichts gedruckt.
Was mache ich falsch?
Die Option -n
verarbeitet jede Zeile, druckt jedoch nichts aus. Sie müssen also ein explizites print
hinzufügen, wenn Sie erfolgreich übereinstimmen.
Ein anderer Ansatz, wenn Sie sicher sind, dass jede Zeile übereinstimmt, ist die Verwendung der Option -p
, die nach der Verarbeitung den Wert von $_
ausgibt, z. B .:
Deine Regex ist in Ordnung. Sie erhalten keine Ausgabe, weil die Option -n
nichts ausgibt. Es wird einfach eine while (<>) { ... }
-Schleife um Ihr Programm gelegt (führen Sie perl --help
für kurze Erklärungen der Perl-Optionen aus).
Im folgenden Beispiel wird Ihre Regex verwendet, jedoch etwas Druck hinzugefügt. Im Listenkontext geben Regexes mit der Option /g
alle Captures zurück. Effektiv drucken wir jede Aufnahme.
Sie können die Zeichenkette auf "="
anstatt auf Übereinstimmung aufteilen:
Tags und Links perl