Thread heredoc in Variablendefinition (7 answers)
Opened by bianca at 2010-12-19 10:37

MatthiasW
 2010-12-19 11:01
#143707 #143707
User since
2008-01-27
367 Artikel
BenutzerIn
[default_avatar]
Das nennt sich heredoc und wird nicht mit der Zeichenfolge <<XXX; gestartet, sondern ohne Semikolon. Ab der nächsten Zeile folgt dann der Text, den man quoten möchte. Mit XXX wird das heredoc abgeschlossen. In deinem Code steht hinter HTML_TEIL beim Öffnen des heredocs ein Semikolon, welches du entweder entfernen, oder mit einem Komma tauschen solltest. Beim Schließen des heredocs steht in deinem Code ein Komma, welches dort nicht hingehört:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
my $hash = (
    1 => {
        name => 'name, name',
        beschreib_html => <<HTML_TEIL, option => 'value', #...
<ul>
    <li>ganz viel text</li>
</ul>
HTML_TEIL
        option2 => 'value2',
        #...
    },
);

edit: Darüber hinaus ist zu beachten, dass du hier ein HereDoc mit Variablenersetzung benutzt. Falls du hier keine Ersetzung benötigst, solltest du das HereDoc mit single-quotes starten: <<'HTML_TEIL'

MfG
Last edited: 2010-12-19 11:04:07 +0100 (CET)
perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'

View full thread heredoc in Variablendefinition