[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