Name

IO::File - Objektmethoden für Dateihandles


Übersicht

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;


Beschreibung

IO::File erbt von IO::Handle und IO::Seekable. Es erweitert diese Klassen um eigens auf Dateihandles abgestimmte Methoden.


Konstruktor

new ( FILENAME [,MODE [,PERMS]] )
Erzeugt ein 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.

new_tmpfile
Erzeugt ein 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.


Methoden

open( FILENAME [,MODE [,PERMS]] )
open akzeptiert einen, zwei oder drei Parameter. Mit nur einem Parameter handelt es sich einfach um ein Frontend zur vorhandenen open-Funktion. Bei zwei oder mehr Parametern ist der erste Parameter ein Dateiname, der auch Whitespace und andere Sonderzeichen enthalten kann, und der zweite Parameter ist der open-Modus, optional gefolgt von einem Wert für die Dateizugriffsrechte.

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.


Siehe auch

perlfunc, perlop, IO


History

Abgeleitet aus Graham Barrs FileHandle.pm. <gbarr@pobox.com>


Copyright

Copyright (c) 1997-8 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Übersetzer

Deutsche Übersetzung von Peter Klicman, Köln
© 1998 by O'Reilly Verlag, Köln