in reply to Re: mod_perl bug when reading post content with $|?
in thread mod_perl bug when reading post content with $|?

Am I the only one to use $| = 1 with mod_perl?

You might be. Is it ever necessary? You said you want to be as lean as possible, but autoflush ($|) makes scripts slower.

Or, imagine a common CPAN module would start to set $| nonzero in a new verison...

That's why one should always use local when setting special variables. Imagine what would happen if one changes $/ without localizing it first. Even not localizing $_ can be problematic. Under mod_perl you should always use local with special variables. (Don't local $ENV{key} as this is buggy: localize the entire hash)

- Yes, I reinvent wheels.
- Spam: Visit eurotraQ.

  • Comment on Re: Re: mod_perl bug when reading post content with $|?

Replies are listed 'Best First'.
Re^3: mod_perl bug when reading post content with $|?
by Flexx (Pilgrim) on Sep 10, 2002 at 12:15 UTC

    Actually, regarding my problem, it doesn't make a difference to localize $|.

    My server now looks like this, but has the same hang

    #!/usr/bin/perl -w use strict; local $| = 1; print "Content-Encoding: iso-8859-1\015\012", "Content-Type: text/plain\015\012", "\015\012"; warn "DEBUG: the content length is $ENV{CONTENT_LENGTH}\n"; my $returncode = read(STDIN, my $post_content, $ENV{CONTENT_LENGTH +}); warn "DEBUG: the read returncode was $returncode\n"; warn "DEBUG: Finished.";

    Stas Bekman has summed up why one would use $| = 1 under mod_perl quite well in mod_perl: Performance Tuning.