Given this: $ ./perl -wle 'open $fh, ">", "/tmp/foo"; print for <$fh>' Filehandle $fh opened only for output at -e line 1. Why no such warning here: $ ./perl -wle 'open $fh, "|-", "true"; print for <$fh>' ? Doesn't Perl know that $fh is only for writing? Verified on perl 5, version 13, subversion 4 (v5.13.4-144-gf1dcae2) built for i686-linux. -- Peter Scott