Thread Hash Schlüssel tauschen (1 answers)
Opened by MarkusH at 2014-01-18 12:01

MarkusH
 2014-01-18 12:01
#173061 #173061
User since
2012-04-08
161 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe eine Exceltabelle mit rund 5000 Datensätzen die ich in als HoH darstelle. Eine Spalte ist dabei der Schlüssel, und die anderen Tabellenspalten (einer Zeile) werden als Schlüssel-Wert-Paare gespeichert.
Beispiel:
Gegeben sei eine Tabelle
Code: (dl )
1
2
3
4
5
6
name    |comment    |para1  |para2
----------------------------------
abca |a_b__ca |1 |2
abcb |a_b__cb |7 |2
abcc |a_b__cc |4 |2
abcd |a_b__cd |9 |2

Diese Tabelle wird in folgenden Hash gewandelt:
Code (perl): (dl )
1
2
3
4
5
6
my %hash = (
            abca => {comment => 'a_b__ca', para1 => 1, para2 => 2},
            abcb => {comment => 'a_b__cb', para1 => 7, para2 => 2},
            abcc => {comment => 'a_b__cc', para1 => 4, para2 => 2},
            abcd => {comment => 'a_b__cd', para1 => 9, para2 => 2},
        );


Gibt es eine "elegante" Möglichkeit, den Hash wie folgt umzuformen?
Code (perl): (dl )
1
2
3
4
5
6
my %hash2 = (
            a_b__ca => {comment => 'abca', para1 => 1, para2 => 2},
            a_b__cb => {comment => 'abcb', para1 => 7, para2 => 2},
            a_b__cc => {comment => 'abcc', para1 => 4, para2 => 2},
            a_b__cd => {comment => 'abcd', para1 => 9, para2 => 2},
        );

Natürlich könnte ich die Exceldatei auch neu einlesen.
$q =~ /(bb|[^b]{2})/

View full thread Hash Schlüssel tauschen