Thread hashes of hashes
(6 answers)
Opened by hannesPR at 2010-10-01 03:55
Also, das geht natürlich auch mit Arrays. Und ich würde Dir dringend raten es mit Arrays zu machen, denn diese sind in Perl deutlich schneller als Hashes, obwohl das natürlich auch geht.
2010-10-01T01:55:40 hannesPR Hier überschreibst Du das Hash jedes mal komplett neu. Am Schluß hast Du ein Hash mit nur einem Element: Code: (dl
)
1 $ perl -MData::Dumper -e 'for ($i=0;$i<20;$i++) Mit Arrays könntest Du z.B. wie folgt arbeiten: Code (perl): (dl
)
1 2 3 4 5 6 7 @arr=map {[$_ .. $_+39]} (0..19); for( $i=0; $i<@arr; $i++ ) { for( $j=0; $j<@{$arr[$i]}; $j++ ) { printf "%02d, ", $arr[$i]->[$j]; } print "\n"; } Bis auf die Initialisierung ist das aber nicht sehr perlig. Code (perl): (dl
)
1 2 @arr=map {[$_ .. $_+39]} (0..19); print join("\n", map { my $l=$_; join(", ", map { sprintf "%02d", $_ } @$l) } @arr), "\n"; Führt (fast (siehe Zeilenenden)) zum selben Resultat. Oder auch Code (perl): (dl
)
1 2 @arr=map {[$_ .. $_+39]} (0..19); printf +("%02d, " x @$_)."\n", @$_ for @arr |