To answer your first question, try:
perl -e 'undef $!; print "just kidding\n" if defined $!'
This prints "just kidding" on AIX 5.2 (perl 5.8.0 and 5.005_03), cygwin (perl 5.8.7), linux 2.4.2 (perl 5.6.0), Solaris 5.9 (perl 5.6.1, 5.6.0, 5.005_03).
What I'm looking for is general advice which allows me to add error checking to all my calls to readline or <$fh>. Here are my "requirements": a minimal amount of ugly code, relatively efficient, independent of the rest of my program (that rules out using the "send STDERR to scalar" trick). It would also be nice if the technique worked at least as far back as perl 5.005_03.
$fh->eof is best avoided if $fh might be attached to a terminal, which in the general case it might be.
In reply to Re^2: Best way to handle readline errors?
by jrw
in thread Best way to handle readline errors?
by jrw
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |