wie kann man Listen-Kontext "erzwingen"?
mit runden Klammern.
Wie meinst du das mit den runden Klammern
# ungewiss
funktion;
# Skalarkontext erzwungen
scalar funktion;
my $s = funktion;
# Listenkontext erzwungen
(funktion);
my @a = funktion;
my ($foo, $bar) = funktion;
## die Methode liefert eine Liste, und wir möchten ein bestimmtes Element
# leider Syntaxfehler
$obj->methode[42];
# dito
($obj->methode)[42];
# so wird ein Schuh draus
[$obj->methode]->[42];
und warum geht das jetzt mit splice nicht?
Weil sich scalar
die Klammern zuerst schnappt und sie deswegen nicht mehr zum Listenkontext oder Gruppieren zum tragen kommen. Die Klammern um einen einzelnen Funktionsparameter sind optional, das kannst du auch gut sehen, wenn du mal das Beispiel von <#m916130> durch perl -MO=Deparse
jagst.
--
水-金-地-火-木-土-天-海-冥
水-金-地-火-木-土-天-海-冥