[Vienna-pm] Trennzeile - das ewig muehsame
Baier Oliver
Oliver.Baier at lotterien.at
Mon Sep 4 01:40:03 PDT 2006
Hi,
ich habe eine Liste, die mehrere zusammenhaengende Bloecke beinhaltet
und will zwischen jedem Block eine Trennzeile ausgeben; allerdings
nicht in der allerersten Zeile. Da das End-Pattern variabel ist, bin
ich vom Anfangspattern abhaengig und auf Anhieb sind mir mal folgende
haessliche Ansaetze eingefallen:
A) my $row = 0;
foreach (sort @out) {
print "-" x 80 ,"\n" if /Anfangspattern/ && $row++ != 0;
print;
}
Nachteil: Counter mitschleppen
B) foreach (sort @out) {
print "-" x 80 ,"\n" if /Anfangspattern/ && $_ !~
$out[0];
print;
}
Nachteil: wiederholtes Pattern matching
C) my @sorted = sort @out;
foreach my $i (0 .. $#sorted) {
print "-" x 80 ,"\n" if $sorted[$i] =~ /Anfangspattern/
&& $i != 0;
print $sorted[$i];
}
Nachteil: extra sortierte Liste
Eigentlich suche ich ein:
foreach (sort @out) {
print "-" x 80 ,"\n" if /Anfangspattern/ && $_
<nicht_erstes_Element>;
print;
}
aber das gibt es ja glaub ich nicht auf diese Weise.
Wie loest ihr diese Trennzeilenprobleme immer?
lg
Oliver
More information about the Vienna-pm
mailing list