From my testing at the time I don't think it is possible to determine if a scalar is a filehandle or not. As you point out the IO:: objects would be difficult to handle.
The solution that I can up with was just to assume that any references passed to the function were filehandles and any scalars were filenames. Here is an extract from the code.
This isn't bullet-proof but if the documentation is explicit then it may be sufficient.# If the filename is a reference it is assumed that it is a valid # filehandle, if not we create a filehandle. # if (ref($OLEfile)) { $fh = $OLEfile; } else { # Create a new file, open for writing $fh = FileHandle->new("> $OLEfile"); if (not defined $fh) { croak "Can't open $OLEfile. ......"; } # binmode file whether platform requires it or not binmode($fh); } # Store the filehandle $self->{_filehandle} = $fh;
--
John.
In reply to Re: Re: Re: File::Grep
by jmcnamara
in thread File::Grep
by Masem
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |