meine Unterroutine hatte bisher 4 Parameter und die habe ich gelesen mit
my ($p1, $px, $p123, $pwy) = @_;
Jetzt erwartet sie bei einem bestimmten Wert von $p1 einen 5. Parameter.
Wie lese ich diesen am besten ein?
if ($p1 eq 'aaa') { ?????? }
my ($p1, $px, $p123, $pwy, $optional) = @_;
if ($p1 eq 'aaa') {
defined( $optional ) or $optional = 'defaultwert';
# go on
}
Ich würde sagen, dass benannte Parameter für dich besser geeignet sind
somesub( {a=>$a,b=>$b} ); #Hashreferenz Reihenfolge der Argumente egal
sub somesub{
my $param = shift; #hashreferenz
if( $param->{a} == 42 ){ ... }
}
mfg Beat
--
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische