Thread Reihenfolge in einem Hash: haben "keys" und "values" die gleiche? (11 answers)
Opened by ronald at 2004-03-22 14:44

Taulmarill
 2004-03-22 15:28
#81191 #81191
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
also auf meinem perl 5.8.0 ist die reienfolge von keys und values identisch. is auch klar, weil perldoc definiert
Code: (dl )
1
2
    for (values %hash) 	      { s/foo/bar/g }   # modifies %hash values
for (@hash{keys %hash}) { s/foo/bar/g } # same

also, solange die reienfolge der keys aufrufe bei jedem aufruf gleich is, wird das funktionieren.

Aber(!) meiner meinung nach is das kein guter style. Will man hier auf nummer sicher gehen, kann man folgendes verwenden:
Code: (dl )
1
2
@keys = keys %hash; 
@values = @hash{@keys};
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B

View full thread Reihenfolge in einem Hash: haben "keys" und "values" die gleiche?