Thread Syntaxfrage: push @{ ...
(6 answers)
Opened by Netsrot50 at 2010-08-06 09:04
Hallo zusammen,
ich hatte kürzlich mit einem Codesschnipsel zu tun, in dem bei einem Hash die Keys und Values vertauscht wurden. Da einige dieser Values mehrfach vorkamen, wurde das Ziel-Hash so aufgebaut, dass die neuen Values in ein Array geschrieben wurden. Ein Beispiel: Aus Code: (dl
)
1 Hash: viele_biere: wurde: Code: (dl
)
1 Hash: bierarten: Was bei der Transformation zu tun ist, ist halbwegs klar: für jeden ursprünglichen Value prüfen, ob im neuen Hash schon ein entsprechender Key mit Array existiert: falls ja, dann pushen, ansonsten neu anlegen und pushen. In der mir vorliegenden Lösung wird diese Logik sehr elegant in einer Zeile abgearbeitet: Code: (dl
)
1 my %bierarten; Und dazu möchte ich nun gerne mal fragen, ob es sich hier um einen spezielle Perl-Syntax handelt (bezogen auf @{..}). Falls ja, gibt es dann irgendwo eine Dokumentation drüber? Die Suche gestaltet sich aufgrund der Sonderzeichen leider schwierig. Oder lässt sich dieses Vorgehen aus anderen Perl-Syntax-Elementen ableiten? Vielen Dank! Last edited: 2010-08-06 09:05:37 +0200 (CEST) |