use strict; use warnings; for my $datafilename (@ARGV) {    open my $datafh, '<', $datafilename or die "cannot open $datafilename: $!\n";    my $error=0;    my $last_line=0;    while(my $line = <$datafh>){        chomp $line;        if ($last_line) {            # Wenn wir hierher kommen, hatte die letzte Zeile einen Fehler            $error = 1;            # Einlesen abbrechen            last;        }        if (length $line != 78 || $line !~ /^\d{4}\D/) {            # keine 78 Zeichen oder keine 4 Ziffern am Anfang            if ($line =~ /^\s*$/ || substr($line, 0, 1) == chr(26)) {                # leer oder chr(26) am Anfang, könnte also die letzte Zeile sein                $last_line=1;                # versuchen wir mal, die nächste Zeile zu lesen                next;            } else {                # offensichtlich eine fehlerhafte Zeile                $error = 1;                # Einlesen abbrechen                last;            }        }        # Wenn wir hier hin kommen, ist die eingelesene Zeile korrekt    }    # Wenn Fehler, Namen der fehlerhaften Datei ausgeben    if ($error) {        print "File $datafilename ist fehlerhaft!\n";    } }