Thread 2-dimensionales Array mit Spaltenname (4 answers)
Opened by jürgen at 2012-02-08 11:11

pq
 2012-02-08 13:24
#155966 #155966
User since
2003-08-04
12207 Artikel
Admin1
[Homepage]
user image
ich kann auch nur raten, und wenn ich es richtig verstehe, hatte ich einen ähnlichen fall.

wenn die feldpositionen "dynamisch" sind, hast du ja aber bestimmt irgendwo eine info, wo die felder in der reihenfolge festgelegt sind.

aus der reihenfolge machst du einen hash:
Code (perl): (dl )
1
2
3
4
5
my @fields = qw/ Farbe Baujahr ... /;
my %mapping;
for my $ix (0 .. $#fields ) {
    $mapping{ $fields[ $ix ] } = $ix;
}

dann hast du ein mapping von name => index

dann kannst du sagen:

Code (perl): (dl )
print $autos[$i]->[ $mapping{Farbe} ];

statt
Code (perl): (dl )
print $autos[$i]->[ 0 ];
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread 2-dimensionales Array mit Spaltenname