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; # Schließt automatisch die Datei.
}
$fh = new IO::File "file", O_WRONLY|O_APPEND;
if (defined $fh) {
print $fh "corge\n";
$pos = $fh->getpos;
$fh->setpos($pos);
undef $fh; # Schließt automatisch die Datei.
}
autoflush STDOUT 1;
IO::File erbt von IO::Handle und IO::Seekable. Es erweitert diese Klassen um eigens auf Dateihandles abgestimmte Methoden.
IO::File. Bei der Übergabe von Parametern werden diese an die Methode open weitergegeben. Schlägt die open-Operation fehl, wird das Objekt zerstört. Anderenfalls wird es an den Aufrufer zurückgegeben.
IO::File mit Schreib-/Leserechten für eine neu erzeugte Temporärdatei. Bei Systemen, wo das möglich ist, bleibt die temporäre Datei anonym (d.h., sie wird nach dem Anlegen mit unlink entfernt, aber dennoch offen gehalten).
Kann die temporäre Datei nicht angelegt oder geöffnet werden, wird das IO::File-Objekt zerstört. Anderenfalls wird es an den Aufrufer zurückgegeben.
Erhält IO::File::open einen Perl-Modus-String (">", "+<" etc.) oder einen ANSI-C-fopen()-Modus-String ("w", "r+" etc.), wird der Perl-Basisoperator open verwendet (wobei aber alle Sonderzeichen geschützt werden).
Wird IO::File::open ein numerischer Modus übergeben, wird dieser Modus zusammen mit dem optionalen Wert für die Zugriffsrechte an den Perl-Operator sysopen übergeben. Die Zugriffsrechte sind mit 0666 voreingestellt.
Der Bequemlichkeit halber exportiert IO::File die O_XXX-Konstanten aus dem Fcntl-Modul, sofern dieses Modul verfügbar ist.