Multiline-Text mit string terminator
Bernhard Peissl
- perl
Ich habe da ein Problem das mich nicht erst heute zum ersten mal ärgert:
Es gibt ja mit PERL die Möglichkeit mit mehrzeiligen Text auf dem Schirm auszugeben, und zwar ohne jedesmal <print "huhu";> zu schreiben. Ich habe folgendes probiert:
// print <<END_of_me;
// Content-type: text/html
//
// <html>
// <head>
// ...
// </html>
//
// END_of_me
Der PERL-Interpreter schreibt dann immer <Can't find string terminator "END_of_me" anywhere before EOF at adminKurseStep1.pl line 5>
Ist da was falsch, hab ich was vergessen, oder wieso geht das nicht?
Gibts ev. auch noch ne andere Möglichkeit.
Es sind ca. 200 Zeilen die ausgegeben werden sollen, deshalb habe ich diesen Ansatz gewählt !
Liebe Grüsse
Bernhard
Hallo Bernhard!
// print <<END_of_me;
// Content-type: text/html
//
// <html>
// <head>
// ...
// </html>
// ***** Diese Leezeile enfernen!
// END_of_me
Probiere mal die Leerzeile zu entfernen.
In meinen Scripten nutze ich sowas auch und es funzt eigentlich immer.
Bis danndann
PAF (patrickausfrankfurt)
<img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view
Hi,
Probiere mal die Leerzeile zu entfernen.
Im Gegenteil, die letzte Leerzeile muß unter allen Umständen dahin. Zwar in Unix-Style, aber sie _muß_
dorthin.
Den Fehler habe ich überigens immer, wenn ich den letzten Umbruch weglasse ;)
mfg
CK1
P.S.: (der/die Betroffene weiß, was gemeint ist *g*)
Hallo Christian!
Probiere mal die Leerzeile zu entfernen.
Im Gegenteil, die letzte Leerzeile muß unter allen Umständen dahin. Zwar in Unix-Style, aber sie _muß_
dorthin.Den Fehler habe ich überigens immer, wenn ich den letzten Umbruch weglasse ;)
Hmmmh... kann ich nicht bestätigen, sprechen wir von der gleichen Leerzeile???
view-source:http://www.teamone.de/selfhtml/sfarchiv/src/vielposter.txt
Ansonsten hat eher Slyh damit recht, dass die Leerzeile *nach* END_of_me, EOT, EOF oder wie man das immer genannt hat, ein Muss ist.
Mutmassung: Es kann auch sein, dass Bernhard eine mit
print <<IRGENDWAS begonnene Anweisung irgendwo weiter unten nicht mit
IRGENDWAS + Leerzeile vorher geschlossen hat!
Bis danndann
PAF (patrickausfrankfurt)
<img src="/selfaktuell/extras/selfcomm.jpg" alt=""> http://www.atomic-eggs.com/selfspezial/guests/advguest.cgi?view
Hi Patrick,
Hmmmh... kann ich nicht bestätigen, sprechen wir von der gleichen Leerzeile???
Anscheinend nicht ;-) denn ich meine genau die Leerzeile _nach_ dem Begrenzer, auf die Slyh angespielt
hat.
Mutmassung: Es kann auch sein, dass Bernhard eine mit
print <<IRGENDWAS begonnene Anweisung irgendwo weiter unten nicht mit
IRGENDWAS + Leerzeile vorher geschlossen hat!
Jap, genau das meine ich.
mfg
CK1
P.S.: Dieses Konstrukt nennt sich ein "Here-Document", Slyh ,)
P.P.S.:
Danke Jungs,
ihr hattet voll recht, war wiedermal so ein Haare-Ausrupfer-Fehler, die mir ständig passieren. Da wäre ich doch nie draufgekommen, dass nach dem "Terminator" noch eine Zeile hingehört.
Jetzt weiss ich auch, warum das manchmal funktioniert hat, und manchmal nicht!
Erleuchtet werden ist wirklich was einmalig schönes :-)
Danke nochmal,
Bernhard
hi ho
um solchen kleinen sachen aus dem weg zu gehen, hab ich mir angewoehnt, ans ende meiner quelltexte sowas wie
zu schreiben -> damit schlage ich gleich zwei fliegen mit einer klappe .-)
cua
n.d.p.
Hi,
Der PERL-Interpreter schreibt dann immer <Can't find string terminator "END_of_me" anywhere before EOF at adminKurseStep1.pl line 5>
Diese Fehlermeldung erhalte ich nur, wenn die Zeile 'END_of_me' die letzte Zeile ist. Mach einfach nach
END_of_me eine Leerzeile. Dann klappt's auch mit den... wie heißt dieses Perl-Konstruk jetzt gleich?
Gruß,
Slyh
hi!
Der PERL-Interpreter schreibt dann immer <Can't find string
terminator "END_of_me" anywhere before EOF at
adminKurseStep1.pl line 5>
Diese Fehlermeldung erhalte ich nur, wenn die Zeile 'END_of_me'
die letzte Zeile ist. Mach einfach nach END_of_me eine Leerzeile.
Dann klappt's auch mit den... wie heißt dieses Perl-Konstruk jetzt
gleich?
Hier-Dokument (engl. here document).
bye, Frank!