On Oct 30, 8:33 am, [EMAIL PROTECTED] wrote:
> # --- <the program> ----
> my $fname = '/volumes/hd/home/kevin/file_test ';  # note file ends
> with a space character
> print "Exists: <$fname>\n" if (-e $fname);
> print "Is a file: <$fname>\n" if (-f $fname);
> open(FH, $fname) or die "Can't open '$fname': $!";
> close(FH) or die "Can't close '$fname': $!";
>
> # --- <the output> ---
> Processing file: file_test
> Exists: <file_test >
> Is a file: <file_test >
> Can't open 'file_test ': No such file or directory at testopen.pl line
> 42.
>
> # -- <the question> ---
>
> Is this a known bug in Perl 5.8.6?

It's known, but I don't know that it qualifies as a bug.   When you
use the two argument form of open, Perl is looking for both the
filename and mode, concatenated together, possibly with spaces
separating them.   Since your file ends in a space, you can't use this
shortcut.  In reality, you should NEVER use this short cut.

Use the three-argument form of open, and you'll be fine:

open my $FH, '<', $fname or die "Cannot open '$fname': $!";

perldoc -f open
for more information

Paul Lalli


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to