Thread Stings vergleichen
(11 answers)
Opened by Rennofen at 2017-10-12 22:23
nagut du warst eine weile weg und kennstnicht die neusten tricks,
aber was ich eingangs verstand kann der code gar nicht leisten. Du willst ja alle Duplikate entfernen, was heisst: du musst beim "G123" alle vorherigen G-werte kennen um entscheiden zu können, ob der Wert übernommen wird oder nicht. $g kann nur einen wert beinhalten. Ansonst hab ich paar weitere Stellen vereinfacht: 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 23 24 #!/bin/perl use v5.18; use warnings; my $filename = shift // '1001.nc'; my $arg1 = shift // 0; open(my $fh, '<:encoding(UTF-8)', $filename) or die "Could not open file '$filename' $!"; my ($g, $f) = ('G', 'F'); while (my $row = <$fh>) { $row =~ s/\r?\n$//; my $newrow; for my $word (split / /, $row){ given (substr($word, 0, 1)) { when ('N') { next if $arg1 == 1 } when ('G') { if ($word ne $g) { $g = $word } else { next } } when ('F') { if ($word ne $f) { $f = $word } else { next } } } $newrow .= " $word"; } $newrow =~ s/^\s+|\s+$//g; say $newrow; } Last edited: 2017-10-13 15:43:35 +0200 (CEST) Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher Es beginnt immer mit einer Entscheidung. |