Problem mit Datenstruktur
Marcel
- perl
Hallo
Ich habe folgendes
#%hash = ( Objekt => A, Attribute => { Name => "Meier", Vorname => [ "Marcel", "Stefan" ] } );
%hash = ( Objekt => A, Attribute => ( Name => "Meier", Vorname => [ "Marcel", "Stefan" ] ) );
print $hash{Attribute}{Vorname}[0];
Wobei die auskommentierte Zeile Funktioniert, die andere aber nicht. Warum müssen hier geschwungene Klammern verwendet werden? Gibt es da eine Regel wie ich mir merken kann welche Klammern zu verwenden sind?
Gruss Marcel
Hallo,
http://www.perl.com/doc/manual/html/pod/perlref.html,
gibts bestimmt noch irgendwo auf Deutsch, findest du aber mir der Suchmaschine deiner Wahl.
gruss
Hallo
#%hash = ( Objekt => A, Attribute => { Name => "Meier", Vorname => [ "Marcel", "Stefan" ] } );
%hash = ( Objekt => A, Attribute => ( Name => "Meier", Vorname => [ "Marcel", "Stefan" ] ) );
geschweifte Klammern erzeugen eine Referenz auf einen Hash. Und genau das brauchst du hier. Alles andere kann hier nicht funktionieren.
Vielleicht willst du dir nochmal das Kapitel über [Hashes](http://de.selfhtml.org/perl/sprache/hashes.htm) und [Referenzen](http://de.selfhtml.org/perl/sprache/referenzen.htm) durchlesen ;)
also nochmal:
{} -> Referenz auf einen Hash
[] -> Referenz auf einen Array
Gruß,
Benne
--
ie:% fl:( br:> va:) ls:> fo:| rl:° ss:) de:[ js:| ch:| mo:} zu:)