Wie lautet die Aussage in Ссылка genau? Ich bin auf den vorherigen Beitrag gestoßen, habe aber nicht verstanden, was er zu erklären versucht. Was ist das PETE
? Kann jemand jede Zeile erklären? Wie funktioniert der Code?
Was ist der Unterschied und die Ähnlichkeit zwischen diesen beiden? Anstelle von PETE
habe ich viele andere Wörter wie DOG
verwendet und es funktioniert jedes Mal gleich.
Dies wird ein Here-Doc genannt. Es nimmt im Grunde genommen alles von der nächsten Zeile bis zu einer Endmarkierungslinie auf und präsentiert es als Standardeingabe für das laufende Programm. Die Endmarkierungslinie wird durch den Text nach dem <<
gesteuert.
Als Beispiel, in bash
(was ich besser als Perl kenne), der Befehl:
führt cat
aus und sendet dann zwei Zeilen an seine Standardeingabe (die Zeilen hallo und adieu). Perl hat diese Funktion auch, obwohl die Syntax etwas anders ist (wie Sie es erwarten würden, da es eine andere Sprache ist). Dennoch ist es nahe genug, dass die Erklärung noch immer gültig ist.
Wikipedia hat einen Eintrag für dieses , den Sie wahrscheinlich gefunden hätten, wenn Sie gewusst hätten, dass es ein here-doc heißt, aber ansonsten wäre es ziemlich schwer, es herauszufinden.
In Ihren speziellen Fällen gibt es keinen Unterschied zwischen der Verwendung von EOF
und PETE
, es gibt eine Beziehung zwischen dem heredoc-Marker (das Bit, das auf <<
folgt) und dem Ende der Standardeingabe.
Wenn beispielsweise eine Ihrer Eingabezeilen EOF
war, konnten Sie diese nicht wirklich als Markierung verwenden, da die Standardeingabe vorzeitig abgebrochen würde:
In diesem Fall könnten Sie PETE
(oder etwas anderes, das nicht im Text in einer eigenen Zeile erscheint) verwenden.
Es gibt andere Optionen wie die Verwendung von Anführungszeichen um den Marker (so dass der Einzug besser aussehen kann) und die Verwendung einfacher oder doppelter Anführungszeichen zur Steuerung der Variablensubstitution.
Wenn Sie auf die Seite perlop
gehen und nach <<EOF
suchen, wird es hoffentlich klar.
Siehe Zitat und Zitat-ähnliche Operatoren (es ist ziemlich gut erklärt) .
Tags und Links perl