Thread Zeilenzahl bestimmen bei veränderten Seperator (21 answers)
Opened by manu at 2012-08-01 13:58

FIFO
 2012-08-01 15:36
#160435 #160435
User since
2005-06-01
469 Artikel
BenutzerIn

user image
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"

View full thread Zeilenzahl bestimmen bei veränderten Seperator