<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Heredoc</id>
	<title>Heredoc - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Heredoc"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Heredoc&amp;action=history"/>
	<updated>2026-06-01T12:18:34Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Heredoc&amp;diff=1484254&amp;oldid=prev</id>
		<title>176.198.236.19: Bezeichner unwahrscheinlich (`cat &lt;&lt;IFS=5 ...`), transientes Token? Overhead?</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Heredoc&amp;diff=1484254&amp;oldid=prev"/>
		<updated>2023-10-25T10:55:52Z</updated>

		<summary type="html">&lt;p&gt;Bezeichner unwahrscheinlich (`cat &amp;lt;&amp;lt;IFS=5 ...`), transientes Token? Overhead?&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein &amp;#039;&amp;#039;&amp;#039;Heredoc&amp;#039;&amp;#039;&amp;#039;, auch &amp;#039;&amp;#039;&amp;#039;here document&amp;#039;&amp;#039;&amp;#039; (von [[Englische Sprache|englisch]], wörtlich &amp;#039;&amp;#039;hier dokument&amp;#039;&amp;#039;) genannt, ist ein Sprachkonzept der [[Informatik]] zur Spezifikation eines Zeichenfolgenliterals in [[Kommandozeileninterpreter]]n wie beispielsweise der [[Bourne-again shell|bash]], [[Windows PowerShell]] und der [[Bourne-Shell]] sowie in [[Programmiersprache]]n wie etwa [[Perl (Programmiersprache)|Perl]], [[PHP]], [[Python (Programmiersprache)|Python]] und [[Ruby (Programmiersprache)|Ruby]]. Der Bezeichnung entsprechend dienen Heredocs zur Definition von Textabschnitten. Im Unterschied zu herkömmlichen [[Zeichenkette|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.&lt;br /&gt;
&lt;br /&gt;
Je nach Programmiersprache werden Heredocs durch &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;amp;lt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;!--&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt;-&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Beispielhafte Umsetzung in [[PHP]]:&amp;lt;ref&amp;gt;David Sklar, Adam Trachtenberg: PHP Kochbuch, O’Reilly, Köln, 2003, ISBN 3-89721-351-6, S.&amp;amp;nbsp;2–3&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.heredoc Heredoc auf php.net]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
echo &amp;lt;&amp;lt;&amp;lt;ENDE&lt;br /&gt;
Dies ist ein Heredoc&lt;br /&gt;
zweite Zeile&lt;br /&gt;
ENDE;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel in [[Python (Programmiersprache)|Python]]:&amp;lt;ref&amp;gt;[https://devcamp.com/trails/introduction-programming-python/campsites/python-strings/guides/guide-heredocs-python devcamp.com Guide to Heredocs in Python]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PYTHON&amp;quot;&amp;gt;&lt;br /&gt;
text=&amp;quot;&amp;quot;&amp;quot;{name}&lt;br /&gt;
wohnt in&lt;br /&gt;
{place}&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
print(text.format(name=&amp;#039;Christoph&amp;#039;, place=&amp;#039;Chur&amp;#039;))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Gibt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Christoph&lt;br /&gt;
wohnt in&lt;br /&gt;
Chur&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Literal]]&lt;br /&gt;
* [[Zeichenkette]]&lt;br /&gt;
* [[Einzeiler (Informatik)|Einzeiler in der Informatik]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprachelement]]&lt;/div&gt;</summary>
		<author><name>176.198.236.19</name></author>
	</entry>
</feed>