webForumDet fria alternativet

Eof

5 svar · 225 visningar · startad av nordan

nordanMedlem sedan juni 2000949 inlägg
#1

Hallå
En lite problem som jag dyker på ibland är att
print<<EOF; inte fungerar ibland.
Offtast är det om jag gör på detta sätt

print<<EOF;
<html>
     <head>
    JavaScript och grejor
    </head>
<body>
Hello World!
[B]EOF
En loop i perl[/B]
print<<ENDOFHTML
</body>
</html>
ENDOFHTML

Någon som vet vad det kan bero på?
Jag kan tänka mig att perl tar EOF som vanlig text i html sidan men hur gör man då för att få perl att förstå att den skall bryta där så jag kan lägga in en loop?

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Glöm inte bort semi-kolonet sist, perl kan bli lite konfunderad då.

print <<EOF;
<html>
     <head>
    JavaScript och grejor
    </head>
<body>
Hello World!
EOF
# En loop i perl
[red]print <<ENDOFHTML;[/red]
</body>
</html>
ENDOFHTML

(EOF är "vanlig" text)

nordanMedlem sedan juni 2000949 inlägg
#3

hmm Jag har nog bara glömt ; här i exemplet :l
Har du aldrig märkt detta om du skulle skriva koden som jag gjort då med semikolon :)
Kan man skriva nått annat än EOF så att det blir mera klart för perl att det skall köras lite perl kod?

JojoxxMedlem sedan juni 20004 308 inlägg
#4

Jag har bara råkat ut för det när jag glömt semikolonet.

Du kan skriva vad du vill för att termintera datamängden. (Perldoc.com)

JoakimMedlem sedan dec. 199982 inlägg
#5

Har också haft problem med detta och kommit fram till att perl gärna vill ha en tom rad under den terminerande strängen.

// Joakim

zmodemMedlem sedan apr. 200277 inlägg
#6

Japp, jag har också märkt samma sak... sätter alltid minst en tom rad efter att man har använt den där metoden för att printa saker...

ibland skriver jag tillochmed
exit;
efteråt för att den ska fatta...

137 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)