Moin, Am So, den 18.01.2004 schrieb Andreas Winkelmann um 10:55:
Am Sonntag, 18. Januar 2004 09:52 schrieb Joerg Rossdeutscher:
machwas( wer => 'Schwiegermutter" , was => 'rumnoergeln' , wo => 'MEINE WOHNUNG!" )
Ähm... was setze ich denn dann oben statt my ( $wer , $was , $wo ) = ( @_ ); ? Ich hatte probiert my ( $wer , $was , $wo ) = ( %_ ); das geht nicht. Wie nennt man denn diese Art der Parameterübergabe, und in welchem perldoc wäre ich fündig geworden? Irgendwie gestaltet sich das Googeln nach Sonderzeichen recht schwierig. :-)
Das Ding heisst "Grosser Pfeil" und gehört zum Thema "hash". Ein Hash ist Feld wo mehrere Wertepaare stehen. Ein Key und ein Value. Und um die Lesbarkeit zu steigern kann man den grossen Pfeil benutzen. Bei "wer => schwiegermutter" ist "wer" der Key und "schwiegermutter" das Value. Man könnte das Ding auch als Komma sehen.
OK, danke, was hashes sind, weiss ich, dann ist das => also nur eine andere Art der Notation. Warum geht das nicht: #!/usr/bin/perl -w use warnings; use strict; t( name => "joerg" , nick => "ratti" ); sub t { my %x = %_ ; # <---- Hier! Was muss hier hin???????? print $x{name},"\n"; } Die markierte Zeile ist falsch, und daher is $x{name} undefiniert. Wieso? Was muss da hin? Gruß, Ratti -- -o) fontlinge | Font management for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/