Not sure but I would say it is a bug on your side. Accepting a file name
without even some basic validation. (no spaces at the beginning/end of your
file names)

This will solve the issue, open is used to open more things then just files,
therefore what it is fed is what it opens. Where -e and -f are used only for
the checking if a file exists and thus they do the removal of
preceding/trailing spaces automatically.

At least that is how I always understood that bit.

Regards,

Rob


On 10/30/07, [EMAIL PROTECTED] <[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?
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> http://learn.perl.org/
>
>
>

Reply via email to