in reply to overloading the print function (or alternatives)
The former will actually cause problems with some browsers, because printing to STDOUT prints "hello world" before the content-type header.
I'd like to know some more about this problem. Can you show me some code that breaks on certain browsers?
As far as I can see, if you have code that does:
print "Content-type: text/html\n\n"; # and then later in the script... print "<h1>Some title</h1>\n";
Then the second print statement should always display its output after the first. If that's not true, then I'd call that a bug.
There is a similar problem, where you have code like this:
print "Content-type: text/html\n\n"; print "<h1>Header</h1>\n"; # some code that generates an runtime error
In this case, because STDOUT is buffered by default and STDERR isn't, it is possible that the errors will be sent to the client before the header, causing an "invalid headers" error. The solution to this is to set $| to a true value to unbuffer STDOUT (or course, you'll still need to fix the bug that causes the error!).
--
"Perl makes the fun jobs fun
and the boring jobs bearable" - me
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: overloading the print function (or alternatives)
by nate (Monk) on Dec 04, 2000 at 14:34 UTC |