in reply to Can't find string terminator "ENDHEADER" anywhere before EOF

It should work fine as written provided that ENDHEADER is at the very start of a line and nothing else follows it (though I can't tell for sure as you should put <code> tags around your code so we can also see your code formatting which is important in this case). As per perlop:

The terminating string must appear by itself (unquoted and with no surrounding whitespace) on the terminating line.



  • Comment on Re: Can't find string terminator "ENDHEADER" anywhere before EOF

Replies are listed 'Best First'.
Re^2: Can't find string terminator "ENDHEADER" anywhere before EOF
by TedPride (Priest) on Sep 19, 2004 at 01:07 UTC
    Yes, he's right. The end tag has to be by itself on the line. Here's your code without errors:
    sub print_chat { print <<ENDHEADER; Content-type: text/html <html> <head><title>My Chat</title> </head> </html> ENDHEADER } return 1
    (though I don't understand why return 1 is outside the end } ?)
      This is usually because there are spaces before "ENDHEADER" There should not be spaces before second ENDHEADER. Regards, Ivan
        Ivan! Many thanks for your comment! Bolshoe spasibo!
        Thanks! Never would have thought it was as simple as that. =)
      serioulsy its working out... there should be any space between 2nd ENDHEADER.. generally we keep tab and type. thats the exact mistake