Thread Zeilenzahl bestimmen bei veränderten Seperator
(21 answers)
Opened by manu at 2012-08-01 13:58
Du kannst schonmal etwas straffen und Kollisionen mit Standard-Handles vermeiden ...
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 local $/ = "/>"; my @files = @ARGV ? @ARGV : ('-'); # - ist STDIN my $fh; for my $file (@files) { open($fh, '<', $file); # ... or die ... my ($line_nr, $line_nr_oben) = (0, 0); while (my $string = <$fh>) { $line_nr = $line_nr_oben; my $count = s{\r?\n}{}g || 0; # s/// gibt Zahl der Matches zurück $line_nr_oben += $count; if($string =~ m/< ... ... print "Feher in Zeilen $line_nr - $line_nr_oben"; Die Verwendung der beiden $line_nr-Variablen ist mir unklar. Kannst Du Beispieldaten zeigen? Die Verwendung von '/>' als Seperator ist ggf. nicht die geschickteste Variante. Editiert von FIFO: scope der $line_nr-Vars begrenzt Last edited: 2012-08-01 15:37:54 +0200 (CEST) Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
|