Mailinglist Archive: opensuse-programming-de (174 mails)
| < Previous | Next > |
Re: Perl: Was ist '=>' eigentlich?
- From: Joerg Rossdeutscher <ratti@xxxxxxxxxxx>
- Date: Sun, 18 Jan 2004 12:32:12 +0100
- Message-id: <1074425532.4489.143.camel@xxxxxxxxxxx>
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/
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/
| < Previous | Next > |