webForumDet fria alternativet

Eof

Perl & Ruby

5 svar · 227 visningar · startad av nordan

Medlem sedan juni 2000949 inlägg
Frågan#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?

Medlem 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)

Medlem 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?

Medlem 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)

Medlem 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

Medlem 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...

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)