Mailinglist Archive: opensuse-programming-de (174 mails)
| < Previous | Next > |
Perl: Was ist '=>' eigentlich?
- From: Joerg Rossdeutscher <ratti@xxxxxxxxxxx>
- Date: Sun, 18 Jan 2004 09:52:02 +0100
- Message-id: <1074415922.4489.10.camel@xxxxxxxxxxx>
Hallo,
ich möchte eine perl-Funktion so einpacken, daß ich ein paar Parameter
überprüfen kann. Beispiel:
Die Original-Perl-Funktion lautet sagenwirmal:
machwas ( $wer , $was , $wo );
Wenn man $wer als "Schwiegermutter" übergibt, schmiert die Kiste ab.
Also will ich sowas machen:
sub my_machwas {
my ( $wer , $was , $wo ) = ( @_ );
if ( $wer eq "Schwiegermutter) {
die "Keiner zuhause! Geh weg!\n";
} else {
machwas ( $wer , $was , $wo ); # Original-Funktion
}
}
Schön. Tippfehler mal aussen vor, ich habe das jetzt so runtergetippert.
Nun ist es aber leider so, das der Befehl, den ich verpacken will, seine
Parameter so bekommt:
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. :-)
Der Knackpunkt ist, daß das statt wer,was,wo sehr viele Parameter
möglich wären, von denen man normalerweise nur sehr wenige setzt (Wen es
interessiert: Es geht mal wieder um Annotate aus perlmagick).
Schönen Sonntag euch,
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/
ich möchte eine perl-Funktion so einpacken, daß ich ein paar Parameter
überprüfen kann. Beispiel:
Die Original-Perl-Funktion lautet sagenwirmal:
machwas ( $wer , $was , $wo );
Wenn man $wer als "Schwiegermutter" übergibt, schmiert die Kiste ab.
Also will ich sowas machen:
sub my_machwas {
my ( $wer , $was , $wo ) = ( @_ );
if ( $wer eq "Schwiegermutter) {
die "Keiner zuhause! Geh weg!\n";
} else {
machwas ( $wer , $was , $wo ); # Original-Funktion
}
}
Schön. Tippfehler mal aussen vor, ich habe das jetzt so runtergetippert.
Nun ist es aber leider so, das der Befehl, den ich verpacken will, seine
Parameter so bekommt:
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. :-)
Der Knackpunkt ist, daß das statt wer,was,wo sehr viele Parameter
möglich wären, von denen man normalerweise nur sehr wenige setzt (Wen es
interessiert: Es geht mal wieder um Annotate aus perlmagick).
Schönen Sonntag euch,
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 > |