NAME

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 "> FOO";
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";
    undef $fh;       # automatically closes the file
}

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

$fh->setvbuf($buffer_var, _IOLBF, 1024);

autoflush STDOUT 1;

DESCRIPTION

IO::File is inherits from IO::Handle ans 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.

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

perlfunc, "I/O Operators" in perlop, "IO::Handle" "IO::Seekable"

HISTORY

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

REVISION

$Revision: 1.5 $