Lesen und Schreiben von Dateien in Perl

Perl ist eine ideale Sprache für die Arbeit mit Dateien. Es verfügt über die grundlegenden Funktionen aller Shell-Skripte und erweiterten Tools, wie z. B. reguläre Ausdrücke, die es nützlich machen. Um mit Perl-Dateien arbeiten zu können, müssen Sie zunächst das Lesen und Schreiben von Dateien erlernen. Das Lesen einer Datei erfolgt in Perl, indem ein Dateihandle für eine bestimmte Ressource geöffnet wird.

Eine Datei in Perl lesen

Um mit dem Beispiel in diesem Artikel arbeiten zu können, benötigen Sie eine Datei, die vom Perl-Skript gelesen werden kann. Erstellen Sie ein neues Textdokument mit dem Namen data.txt und legen Sie es in das gleiche Verzeichnis wie das unten stehende Perl-Programm.

In der Datei selbst geben Sie einfach ein paar Namen ein - einen pro Zeile:

Wenn Sie das Skript ausführen, sollte die Ausgabe mit der Datei selbst identisch sein. Das Skript öffnet einfach die angegebene Datei, durchläuft sie zeilenweise und druckt jede Zeile nacheinander aus.

Erstellen Sie als Nächstes ein Dateihandle mit dem Namen MYFILE, öffnen Sie es und zeigen Sie auf die Datei data.txt.

Verwenden Sie dann eine einfache while-Schleife, um automatisch jede Zeile der Datendatei einzeln zu lesen. Dies platziert den Wert jeder Zeile in der temporären Variablen $ _ für eine Schleife.

Verwenden Sie in der Schleife die Funktion chomp, um die Zeilenumbrüche am Ende jeder Zeile zu entfernen, und geben Sie dann den Wert von $ _ aus, um anzuzeigen, dass sie gelesen wurden.

Schließen Sie abschließend das Dateihandle, um das Programm zu beenden.

Schreiben in eine Datei in Perl

Nehmen Sie dieselbe Datendatei, mit der Sie gearbeitet haben, während Sie gelernt haben, eine Datei in Perl zu lesen. Dieses Mal werden Sie darauf schreiben. Um in Perl in eine Datei zu schreiben, müssen Sie ein Dateihandle öffnen und auf die Datei zeigen, die Sie schreiben. Wenn Sie Unix, Linux oder einen Mac verwenden, müssen Sie möglicherweise auch Ihre Dateiberechtigungen überprüfen, um festzustellen, ob Ihr Perl-Skript in die Datendatei schreiben darf.

Wenn Sie dieses Programm ausführen und dann das Programm aus dem vorherigen Abschnitt zum Lesen einer Datei in Perl ausführen, werden Sie feststellen, dass der Liste ein weiterer Name hinzugefügt wurde.

Tatsächlich wird jedes Mal, wenn Sie das Programm ausführen, ein weiterer "Bob" am Ende der Datei hinzugefügt. Dies geschieht, weil die Datei im Anhänge-Modus geöffnet wurde. Um eine Datei im Anhänge-Modus zu öffnen, müssen Sie dem Dateinamen lediglich das Präfix voranstellen >> Symbol. Dies teilt der geöffneten Funktion mit, dass Sie in die Datei schreiben möchten, indem Sie mehr am Ende der Datei anheften.

Wenn Sie stattdessen die vorhandene Datei mit einer neuen überschreiben möchten, verwenden Sie die > single größer als symbol, um der geöffneten Funktion mitzuteilen, dass Sie jedes Mal eine neue Datei wünschen. Versuchen Sie, das >> durch ein> zu ersetzen, und Sie sehen, dass die Datei data.txt jedes Mal, wenn Sie das Programm ausführen, auf einen einzigen Namen - Bob - reduziert wird.

Verwenden Sie anschließend die Druckfunktion, um den neuen Namen in die Datei zu drucken. Sie drucken in ein Dateihandle, indem Sie der print-Anweisung mit dem Dateihandle folgen.

Schließen Sie abschließend das Dateihandle, um das Programm zu beenden.