Heredoc
# Heredoc

Ein Heredoc, auch here document (von englisch, wörtlich hier dokument) genannt, ist ein Sprachkonzept der Informatik zur Spezifikation eines Zeichenfolgenliterals in Kommandozeileninterpretern wie beispielsweise der bash, Windows PowerShell und der Bourne-Shell sowie in Programmiersprachen wie etwa Perl, PHP, Python und Ruby. Der Bezeichnung entsprechend dienen Heredocs zur Definition von Textabschnitten. Im Unterschied zu herkömmlichen Stringdefinitionen werden enthaltene Zeilenumbrüche sowie Einzüge und viele Sonderzeichen im Text bewahrt. Einige Sprachen ermöglichen auch die Interpolation von Variablen oder auch Programmcode innerhalb der Zeichenfolge.

Je nach Programmiersprache werden Heredocs durch <<, <<<, <!--, <<- oder ähnliche Zeichenfolgen eingeleitet, gefolgt von einer weitgehend frei wählbaren Zeichenfolge, die das Ende des Heredoc markiert (Delimiter); in der nächsten Zeile beginnt der Text des Heredoc. Das Ende des Heredoc wird durch eine Zeile mit dem zuvor gewählten Delimiter und gegebenenfalls einem Semikolon oder einem Zeilenende markiert.

Viele UNIX-Shells, einschließlich der Bourne-Shell (sh) und zsh, bieten Heredocs als eine Möglichkeit, um Eingabewerte für Kommandozeilenbefehle anzugeben. Die Microsoft PowerShell bietet eine ähnliche Funktionalität, sowohl interaktiv in der Shell selbst, als auch über eine spezielle Skriptsyntax in Skriptdateien, die in der PowerShell ausführbar sind.

Beispielhafte Umsetzung in PHP:

Ein Beispiel in Python:

Gibt

aus.

