Thread Komplizierterer Suchstring (2 answers)
Opened by AndiS at 2008-02-25 10:12

Hagen
 2008-02-25 11:06
#106324 #106324
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Ich vermute mal, dass AndiS prüfen will, ob die jeweilige Zeile "gültig" ist, d.h. kein Kommentar, keine Leerzeile, usw. enthält.

Ich würde die Datei zeilenweise bearbeiten, jede Zeile aufsplitten und dann die einzelnen Werte überprüfen, ob sie nur gültige Zeichen enthält:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
my $filename = 'config.txt';

open my $readh, '<', $filename or die "open(ro) $filename: $!\n";
while (my $zeile = <$readh>) {
        # zur Sicherheit Zeilenumbrüche und Leerzeichen entfernen
        $zeile =~ s|[\n\r\s]||g;

        (my $art, my $groesse, my $anzahl, my $typ) = split(/,/, $zeile);
        
        next if ($art !~ m|[BKMG]|); # nächste Zeile bearbeiten, falls in $art etwas anderes als B, K, M, G steht
        next if ($groesse !~ m|^\d+$|); # nächste Zeile bearbeiten, falls in $groesse etwas anderes als eine Zahl steht
        next if ($anzahl !~ m|^\d+$|); # nächste Zeile bearbeiten, falls in $anzahl etwas anderes als eine Zahl steht
        next if ($typ !~ m/^(READ)|(WRITE)$/); # nächste Zeile bearbeiten, falls in $typ etwas anderes als READ oder WRITE steht

        # Prüfung erfolgreich
        ... hier dann "Daten" bearbeiten ...
        } # while
close $readh or die "close(ro) $filename: $!\n";


(ungetestet)
Gruß
Hagen

View full thread Komplizierterer Suchstring