Dateien öffnest du mit open und einem Dateihandle: open(my $fh, '<', $datei) zum Lesen, '>' zum Schreiben, '>>' zum Anhängen. Prüfe immer, ob das Öffnen klappt (or die "...: $!"). Mit while (my $zeile = <$fh>) liest du Zeile für Zeile, mit chomp entfernst du den Zeilenumbruch. close schließt die Datei.
Genau hier glänzt Perl: Log-Dateien filtern und auswerten.
use strict;
use warnings;
open(my $aus, '>', 'notiz.txt') or die "Kann nicht schreiben: $!";
print $aus "Zeile 1\nFehler: kaputt\nZeile 3\n";
close($aus);
open(my $ein, '<', 'notiz.txt') or die "Kann nicht lesen: $!";
my $fehler = 0;
while (my $zeile = <$ein>) {
chomp $zeile;
$fehler++ if $zeile =~ /Fehler/;
}
close($ein);
print "$fehler Fehlerzeile(n)\n";Merke
open(my $fh, '<', $datei) or die ...while (my $zeile = <$fh>)liest zeilenweisechompentfernt den Zeilenumbruch
Aufgabe
Zähle die Zeilen einer Datei, die ein bestimmtes Wort enthalten.