FileHandle-Modul in Perl

Filehandle Modul In Perl



In Perl gibt es mehrere Möglichkeiten, Dateien zu erstellen und darauf zuzugreifen. Mithilfe eines Dateihandlers kann eine Datei zum Lesen, Schreiben oder Aktualisieren in Perl geöffnet werden. Der Dateihandler kann in der open()-Methode in einem strukturierten Programmierformat oder objektorientierten Programmierformat verwendet werden. Das FileHandle-Modul kann in Perl verwendet werden, um den Dateihandler als Objekt zu deklarieren und dieses Objekt zum Öffnen einer Datei zum Erstellen oder Zugreifen mithilfe verschiedener Eigenschaften und Methoden der Klasse „FileHandle“ zu verwenden. In diesem Tutorial werden die Verwendung einiger gängiger Methoden des FileHandle-Moduls und die Methoden zur Verwendung des FileHandle-Moduls zum Arbeiten mit der Datei in Perl gezeigt.

Einige nützliche Methoden von FileHandle

Einige häufig verwendete Methoden des FileHandle-Moduls sind wie folgt:

Methode Zweck
erzählen Es wird verwendet, um die Größe der Datei in Bytes zu zählen.
getc Es wird verwendet, um jedes Zeichen des Dateiinhalts zu lesen.
suchen Es wird verwendet, um den Dateizeiger an eine bestimmte Position zu bewegen.
eof Es zeigt das Ende der Datei an.
schließen Es wird verwendet, um den zuvor definierten Dateihandler zu schließen.

Beispiele für Perl FileHandle

In diesem Teil des Tutorials werden anhand mehrerer Beispiele verschiedene Verwendungsmöglichkeiten des FileHandle-Moduls gezeigt.







Beispiel 1: Erstellen Sie eine neue Datei

Erstellen Sie eine Perl-Datei mit dem folgenden Skript, das mithilfe des FileHandle-Moduls eine neue Datei erstellt. Vom Benutzer wird ein Dateiname übernommen und geprüft, ob er existiert oder nicht. Wenn die Datei nicht existiert, wird die Datei zum Schreiben geöffnet, indem nach einer Wartezeit von 1 Sekunde ein Objekt der Klasse „FileHandle“ erstellt wird.



#!/usr/bin/perl

verwenden Sie streng ;
verwenden Warnungen ;
Verwenden Sie 5.34.0 ;
Verwenden Sie FileHandle ;

#Nehmen Sie den Dateinamen vom zu erstellenden Benutzer
drucken „Geben Sie den Dateinamen ein:“ ;
mein $f = <>;
kauen ( $f ) ;

#Überprüfen Sie, ob die Datei bereits existiert oder nicht
Wenn ( -e $f )
{
#Eine Nachricht drucken, wenn die Datei vorhanden ist
sagen 'Die Datei existiert bereits.' ;
}

anders

{
#Erstellen Sie ein Dateihandlerobjekt
mein $FileHandler = FileHandle- > neu ;
sagen „In die Datei schreiben…“ ;
#Warten Sie 1 Sekunde
schlafen ( 1 ) ;

#Öffnen Sie die Datei zum Schreiben
Wenn ( $FileHandler- > offen ( '> $f' ) )
{
#Schreiben Sie eine Textzeile in die Datei
drucken $FileHandler „Es ist eine Testnachricht. \N Es ist die zweite Zeile. \N ' ;
#Schließen Sie den Dateihandler
$FileHandler- > schließen ;
}

}

Ausgabe:



Der Ausgabe zufolge existierte die Datei „test.txt“ vorher nicht und diese Datei wird mit zwei Textzeilen erstellt. Anschließend wird der Befehl „cat“ ausgeführt, um zu prüfen, ob die Datei mit dem Inhalt erfolgreich erstellt wurde oder nicht:





  S. 1-1

Das Skript wird erneut mit demselben Eingabewert ausgeführt und die Meldung „Datei existiert bereits“ wird hier gedruckt, da die Datei „test.txt“ zuvor erstellt wurde.



  S. 1-2

Beispiel 2: Lesen Sie den Inhalt der Datei

Erstellen Sie eine Perl-Datei mit dem folgenden Skript, das den Inhalt einer Datei mithilfe der Klasse „FileHandle“ liest, sofern die Datei vorhanden ist. Der Dateiname wird vom Benutzer übernommen.

#!/usr/bin/perl

verwenden Sie streng ;
verwenden Warnungen ;
Verwenden Sie 5.34.0 ;
Verwenden Sie FileHandle ;

#Nehmen Sie den Dateinamen vom zu erstellenden Benutzer
mein $f = <>;
mein $f = ;
kauen ( $f ) ;

#Überprüfen Sie, ob die Datei bereits existiert oder nicht
Wenn ( -e $f )
{
#Öffnen Sie die Datei zum Lesen
mein $FileHandler = FileHandle- > neu ( ' < $f' ) ;
#Drucken Sie den Dateiinhalt
drucken < $FileHandler >;
#Schließen Sie den Dateihandler
Schließen Sie $FileHandler ;
}

Ausgabe:

Der Inhalt der Datei „test.txt“ wird in der Ausgabe gedruckt, da er am aktuellen Speicherort vorhanden ist:

  p2

Beispiel 3: Anhängen eines Inhalts an eine Datei

Erstellen Sie eine Perl-Datei mit dem folgenden Skript, das den Inhalt an eine nicht leere Datei anhängt und die Größe der Datei in Bytes ausgibt. Der Dateiname wird vom Benutzer übernommen. Wenn die Datei vorhanden ist und die Daten enthält, wird am Ende der Datei eine Textzeile hinzugefügt. Andernfalls wird eine Nachricht gedruckt.

#!/usr/bin/perl

verwenden Sie streng ;
verwenden Warnungen ;
Verwenden Sie 5.34.0 ;
Verwenden Sie FileHandle ;

#Nehmen Sie den Dateinamen vom zu erstellenden Benutzer
drucken „Geben Sie den Dateinamen ein:“ ;
mein $f = <>;
kauen ( $f ) ;

#Überprüfen Sie, ob die Datei bereits existiert und nicht leer ist oder nicht
Wenn ( -s $f )
{


mein $FileHandler = FileHandle- > neu ( „ >> $f“ ) ;
#Drucken Sie die Dateigröße
drucken „Die Größe der Datei beträgt“ . $FileHandler- > erzählen. ' Bytes. \N ' ;
sagen „Inhalt wird an die Datei angehängt …“ ;
#Warten Sie 1 Sekunde
schlafen ( 1 ) ;

#Inhalt am Ende der Datei schreiben
drucken $FileHandler „Es ist eine neue Linie. \N ' ;
#Schließen Sie den Dateihandler
$FileHandler- > schließen ;
}
anders
{
sagen 'Die Datei existiert nicht.' ;
}

Ausgabe:

Laut Ausgabe wird eine neue Zeile an die Datei „test.txt“ angehängt und die Dateigröße beträgt 45 Byte. Anschließend wird der Befehl „cat“ ausgeführt, um zu prüfen, ob der Inhalt ordnungsgemäß in die Datei eingefügt wurde oder nicht:

  S. 3-1

Abschluss


Das FileHandle-Modul ist eine der Optionen von Perl zum Lesen, Schreiben oder Anhängen der Dateien. In diesem Tutorial werden anhand einfacher Beispiele drei verschiedene Einsatzmöglichkeiten dieses Moduls gezeigt.