Thread Probleme bei Schleifen
(19 answers)
Opened by laplace at 2011-10-09 21:22
Der Code funktioniert nicht weil eine Zeile mit einer Markierung versehen ist, welches es als Ende der selben markiert.
Dieses Zeilenende musst du entfernen. Nutze Dazu chomp. Mal der code etwas überarbeitet: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #!/usr/bin/perl use strict; use warnings; my $file='test.txt'; open(my $fh,'<',"test.txt") or die("ERROR open $file ($!)"); while(my $line=<$fh>) { chomp($line); if ($line eq "abcd"){ print "es wurde ein STring gefunden\n"; } else{ print "in der Zeile steht eine Zahl\n"; } } close($fh); Wenn es dir um "nicht Zahlen" geht kannst du das auch so machen: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/usr/bin/perl use strict; use warnings; my $file='test.txt'; open(my $fh,'<',"test.txt") or die("ERROR open $file ($!)"); while(my $line=<$fh>) { chomp($line); # wenn ein Zeichen vorhanden ist das keine Zahl ist if ($line =~/\D/){ print "es wurde ein STring gefunden\n"; } else{ print "in der Zeile steht eine Zahl\n"; } } close($fh); |