Thread Array-Element kombinieren (5 answers)
Opened by Hagen at 2010-07-14 08:53

Hagen
 2010-07-14 08:53
#139775 #139775
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Hallo!

Aus der Datenbank erhalte ich mehrere Listen mit unterschiedlich vielen Listen-Elementen. Jetzt möchte ich jedes Listen-Element mit jedem Kombinieren ...

Ein Lösung hätte ich, aber geht das ggf. noch einfacher/eleganter?

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
use strict;
use Data::Dumper;

my %data = (
        l1 => ['x1', 'x2', 'x3'],
        l2 => ['y1', 'y2', 'y3', 'y4'],
        l3 => ['z1', 'z2', 'z3', 'z4', 'z5'],
        );
my $anz_listen = 3;
my @liste = ();

for (my $i=0; $i<$anz_listen; $i++) {
        print "Schleifendurchlauf '$i' ...\n";
        if ($i==0) { @liste = @{$data{'l'.($i+1)}} }
        else {
                my $laenge_akt = @{$data{'l'.($i+1)}};
                my @list_bak = @liste;
                @liste = ();
                for (my $j=0;$j<$laenge_akt;$j++) {
                        push @liste, map{$_.'-'.$data{'l'.($i+1)}[$j]}(@list_bak);
                } # for
        } # else
        print Dumper(\@liste)."\n";
} # for
Gruß
Hagen

View full thread Array-Element kombinieren