FileHandle::new
creates a FileHandle
, which is a reference to a
newly created symbol (see the Symbol
package). If it receives any
parameters, they are passed to FileHandle::open
; if the open fails,
the FileHandle
object is destroyed. Otherwise, it is returned to
the caller.
FileHandle::new_from_fd
creates a FileHandle
like new
does.
It requires two parameters, which are passed to FileHandle::fdopen
;
if the fdopen fails, the FileHandle
object is destroyed.
Otherwise, it is returned to the caller.
FileHandle::open
accepts one parameter or two. 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 in either Perl form (``>'', ``+<'', etc.) or POSIX form
(``w'', ``r+'', etc.).
FileHandle::fdopen
is like
open
except that its first parameter
is not a filename but rather a file handle name, a FileHandle object,
or a file descriptor number.
If the C functions fgetpos() and fsetpos() are available, then
FileHandle::getpos
returns an opaque value that represents the
current position of the FileHandle, and FileHandle::setpos
uses
that value to return to a previously visited position.
If the C function setvbuf() is available, then FileHandle::setvbuf
sets the buffering policy for the FileHandle. The calling sequence
for the Perl function is the same as its C counterpart, including the
macros _IOFBF
, _IOLBF
, and _IONBF
, except that the buffer
parameter specifies a scalar variable to use as a buffer. WARNING: A
variable used as a buffer by FileHandle::setvbuf
must not be
modified in any way until the FileHandle is closed or until
FileHandle::setvbuf
is called again, or memory corruption may
result!
See
the perlfunc manpage
for complete descriptions of each of the following
supported FileHandle
methods, which are just front ends for the
corresponding built-in functions:
close
fileno
getc
gets
eof
clearerr
seek
tell
See
the perlvar manpage
for complete descriptions of each of the following
supported FileHandle
methods:
Furthermore, for doing normal I/O you might need these:
FileHandle
, or actually classes derived from that class.
They actually aren't. Which means you can't derive your own
class from FileHandle
and inherit those methods.