IO::File - supply object methods for filehandles


SYNOPSIS

           use IO::File;

           $fh = new IO::File;
           if ($fh->open("< file")) {
               print <$fh>;
               $fh->close;
           }

           $fh = new IO::File "> file";
           if (defined $fh) {
               print $fh "bar\n";
               $fh->close;
           }

           $fh = new IO::File "file", "r";
           if (defined $fh) {
               print <$fh>;
               undef $fh;       # automatically closes the file
           }

           $fh = new IO::File "file", O_WRONLY|O_APPEND;
           if (defined $fh) {
               print $fh "corge\n";

               $pos = $fh->getpos;
               $fh->setpos($pos);

               undef $fh;       # automatically closes the file
           }

           autoflush STDOUT 1;



DESCRIPTION

       IO::File inherits from IO::Handle and IO::Seekable. It
       extends these classes with methods that are specific to
       file handles.


CONSTRUCTOR

       new ([ ARGS ] )
           Creates a IO::File.  If it receives any parameters,
           they are passed to the method open; if the open fails,
           the object is destroyed.  Otherwise, it is returned to
           the caller.

       new_tmpfile
           Creates an IO::File opened for read/write on a newly
           created temporary file.  On systems where this is
           possible, the temporary file is anonymous (i.e. it is
           IO::File object is destroyed.  Otherwise, it is
           returned to the caller.


METHODS

       open( FILENAME [,MODE [,PERMS]] )
           open accepts one, two or three parameters.  With one
           parameter, it is just a front end for the built-in
           open function.  With two parameters, the first
           parameter is a filename that may include whitespace or
           other special characters, and the second parameter is
           the open mode, optionally followed by a file
           permission value.

           If IO::File::open receives a Perl mode string (">",
           "+<", etc.)  or a POSIX fopen() mode string ("w",
           "r+", etc.), it uses the basic Perl open operator.

           If IO::File::open is given a numeric mode, it passes
           that mode and the optional permissions value to the
           Perl sysopen operator.  For convenience,
           IO::File::import tries to import the O_XXX constants
           from the Fcntl module.  If dynamic loading is not
           available, this may fail, but the rest of IO::File
           will still work.


SEE ALSO

       the perlfunc manpage, the section on I/O Operators in the
       perlop manpage, the IO::Handle manpage the IO::Seekable
       manpage


HISTORY

       Derived from FileHandle.pm by Graham Barr
       <bodg@tiuk.ti.com>.