Falsch. $_[1] ist zwar bei $ob->midi() und $ob->midi(undef) undefiniert, aber @_ enthält im ersten Fall nur ein Element, im zweiten Fall zwei.
sub midi
{
my $self=shift;
if (@_) {
my $value=shift;
if (defined $value) {
$self->{'midi'}=$value;
return $value; # oder $self, oder den alten Wert, oder gar nichts
} else {
delete $self->{'midi'};
return; # oder $self, oder den alten Wert (return value von delete)
}
} else {
return $self->{'midi'};
}
}
Danke, das ist die Lösung.
Irgendwo im Hinterstüchen war, dass ich @\_ abfragen kann.
Ich verfolge nur nicht konsequent jeden Gedankenstrang.
mfg Beat
--
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische