2 Pluspunkte 0 Minuspunkte
Wie kann man in Perl Dateien lesen und schreiben?
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Aus einer Datei lesen

open(my $datei_handle, '<', 'dateiname.txt') or die "Konnte die Datei nicht öffnen: $!";
while (<$datei_handle>) {
    print $_;
}
close($datei_handle) or die "Konnte die Datei nicht schließen: $!";

In eine Datei schreiben (Inhalt wird überschrieben)

open(my $datei_handle, '>', 'dateiname.txt') or die "Konnte die Datei nicht öffnen: $!";
print $datei_handle "Inhalt, den du in die Datei schreiben möchtest.\n";
close($datei_handle) or die "Konnte die Datei nicht schließen: $!";

In Datei schreiben (an bestehenden Inhalt anhängen)

open(my $datei_handle, '>>', 'dateiname.txt') or die "Konnte die Datei nicht öffnen: $!";
print $datei_handle "Weiterer Inhalt, der angehängt wird.\n";
close($datei_handle) or die "Konnte die Datei nicht schließen: $!";
von (716 Punkte)  
0 Pluspunkte 0 Minuspunkte

Hier ist ein Perl Script, das eine Datei öffnet, aus ihr liest und in sie schreibt.

#!/usr/bin/perl

use strict;
use warnings;

my $dateiname = 'dateiname.txt';

# Datei zum Schreiben öffnen (bestehende Datei wird überschrieben)
open(my $datei_handle, '>', $dateiname) or die "Konnte die Datei nicht öffnen: $!";

# In die Datei schreiben
print $datei_handle "Hallo, Welt!\n";
print $datei_handle "Eine weitere Zeile.\n";

# Datei schließen
close($datei_handle) or die "Konnte die Datei nicht schließen: $!";

# Datei zum Lesen öffnen
open($datei_handle, '<', $dateiname) or die "Konnte die Datei nicht öffnen: $!";

# Aus der Datei lesen
while (<$datei_handle>) {
    print $_;
}

# Datei schließen
close($datei_handle) or die "Konnte die Datei nicht schließen: $!";
von (532 Punkte)