Hi,
ich suche noch eine elegante, schöne Möglichkeit ein Array aufzusplitten. Wenn man ein Array hat soll der erste Eintrag in @array1 landen, der nächste in @array2, dann wieder der nächste in @array1 etc.
Man kann sicherlich solch eine for Schleife nutzen:
for my $schlagwort ( @flach\_a ) {
if ( $even ) {
push @rows, $schlagwort;
$even = 0;
}
else {
push @rows2, $schlagwort;
$even = 1;
}
}
Aber das ist viel Code für etwas kleines. Andere Möglichkeit wären zwei maps.
my @a1 = map { if ( $\_ % 2 ) { $flach[$\_] } else { () } } 0 .. $#flach;
my @a2 = map { if ( $\_ % 2 ) { () } else { $flach[$\_] } } 0 .. $#flach;
Allerdiengs stört es irgendwie das ganze Array zweimal durchzugehen. Und erweiterbar ist es auch nicht so ganz. Möchte man es auf 6 Arrays aufteilen, benötigt man sechs maps, und muss sechs mal das array durchgehen.
Also dann. Kennt noch jemand schöne, kurze Möglichkeiten?