Sorry, I was busy and so unacceptably terse.
do { local *ARGV; @ARGV= $filename; <> }
returns nothing in Perl 5.004 and keeps reading the
"current" file in Perl 5.005. I'd be interested in
more testing on this as I've just got the two examples
at the moment so I'm not sure if the behavior is
consistant across all of 5.004 and 5.005.