Für Eingabe abc
, der Code
perl -ne 'print "XYZ$_"'
Drucke XYZabc
, aber nach der Reihenfolge der $_
und XYZ
Schalten, d.h.
perl -ne 'print "$_XYZ"'
druckt nichts. Warum?
Für Eingabe abc
, der Code
perl -ne 'print "XYZ$_"'
Drucke XYZabc
, aber nach der Reihenfolge der $_
und XYZ
Schalten, d.h.
perl -ne 'print "$_XYZ"'
druckt nichts. Warum?
XYZ
kann Teil eines Variablenname sein, so $_XYZ
ist ein Variablenname, anstatt $_
durch eine wörtliche XYZ
gefolgt.
Sie können die Zeichenfolge aufgeteilt:
perl -ne 'print $_ . "XYZ"'
Oder '$ {_} XYZ', das kann oder vielleicht nicht klarer –
oder 'print $ _," XYZ "' oder 'printf"% sXYZ ", $ _' etc. – choroba
was ich versuche zu erreichen, ist es, einige Zeichen in jeder Zeile der Textdatei hinzuzufügen . Der Code 'perl -ne 'print" XYZ $ _ "' $ neuerDateiname.txt> $ neuerDateiname-XYZ.txt'' funktioniert perfekt, um am Anfang hinzuzufügen, aber die oben genannten Lösungen am Ende hinzufügen funktionieren nicht –
Perl Identifikatoren alle Buchstaben, Ziffern enthalten oder unterstreichen, so dass Sie Perl fragen den Wert der Variablen $_XYZ
zu drucken, die nicht
Sie können den Namen der variablen mit Klammern { ... }
umgeben sie von allen umgebenden Zeichen zu trennen, wie so
perl -ne 'print "${_}XYZ"'
'Verwendung stric t; 'hätte Ihnen hier eine sinnvolle Fehlermeldung gegeben, anstatt einfach" nichts zu geben " – Dre
Vermutlich haben Sie keine Variable mit dem Namen' $ _XYZ' :-) –