StartseiteProgrammierungPerl

Datei lesen und schreiben

26. JANUAR 2012
von Jörg
Programmierung - Perl
filepic

Um mit Perl mit Dateien arbeiten zu können, benötigt Perl einen sogenannten Filehandle. Dieser Handle wird mit dem Befehl open erzeugt und im Quellcode mit Großbuchstaben gekennzeichnet.

Ein Filehandle ist keine Variable sondern nur ein Name welcher dann auf die verwendete Datei hinweist und bei jeder Funktion, welche mit der File in Verbindung gebracht wird, benötigt wird.

Folgender Quelltext veranschaulicht das erzeugen eines Filehandle in Verbindung mit dem Befehl open:

01
02
03
04
open(FILEHANDLE,"datei.txt");   # lesend
open(FILEHANDLE,">datei.txt");  # schreibend
open(FILEHANDLE,">>datei.txt"); # anhängend
close(FILEHANDLE); #Filehandle schließen

Datei zeilenweise lesen

01
02
03
04
05
open FH, "datei.txt" or die ("Fehler beim öffnen $!");
while(<FH>){
  print $_."\n"; #Datei zeilenweise ausgeben
}
close FH; 

in Datei schreiben

01
02
03
04
05
open FH, ">datei.txt" or die ("Fehler beim schreiben $!");
foreach(1..5){
  print FH $_."\n"; #in Datei zeilenweise schreiben
}
close FH;

Datei löschen

unlink ("datei.txt") or die ("Fehler beim löschen $!");

Datei umbenennen

rename ("datei.txt", "dateirename.txt") or die ("Fehler beim umbennen $!");

Datei verschieben

Datei vom aufgerufenen Verzeichnis nach Verzeichnis 'eingetragen' verschieben

use File::Copy;
move($filename,"eingetragen/".$filename);

Dateien aus Ordner auslesen und die Dateinamen in ain Array speichern

my @files = glob("*.txt");

Änderungszeitpunkt von Datei auslesen (geändert am)

use POSIX qw(strftime);
my $filetime = (stat($filename))[9];
my $formtime = strftime("%d.%m.%Y %X", localtime $filetime);
print "geändert am:$formtime\n";

Hinterlasse einen Kommentar

Ein Frosch der sich an der Seite festhält