it is only an issue if you are using it the way you are (printing multiple lines).
this is also true for shell scripts
the thing is, the print for multiple line is looking for the ending mark (in your case, the "EOF")
with it not at the first column of the line, the print will think that it's not the EOF that you are looking for, and will just disregard it and moving along... until you reach the end of your script, it still haven't found the corresponding EOF, and your code will bomb out ...
btw, the internal server error you are getting is because the cgi handler (i'm assuming you are writing this for cgi script) gets an error message from the perl interpreter of your web server. since it doesn't know how to handle perl errors, it gives you internal server error....
-949-