$hi = do_this('asdf');
sub do_this
{
$blob{'f'} = {
'k' => 'j'
};
}
print $hi->{'k'};
# prints j
da do_this nichts zurückgibt, wie druckt es j noch?Warum gibt diese Perl-Funktion einen Wert zurück?
$hi = do_this('asdf');
sub do_this
{
$blob{'f'} = {
'k' => 'j'
};
}
print $hi->{'k'};
# prints j
da do_this nichts zurückgibt, wie druckt es j noch?Warum gibt diese Perl-Funktion einen Wert zurück?
http://perldoc.perl.org/functions/return.html
In Ermangelung einer ausdrücklichen Rückkehr ein Unterprogramm, eval oder tun, Datei automatisch wieder den Wert des letzten Ausdruck ausgewertet
auch' tun BLOCK' und jede andere Blockstruktur, wenn es in nicht void Kontext ist –
Alle Perl 5 Subroutinen Rückkehr der letzte Wert der letzten ausgeführten Anweisung.
... vorausgesetzt, sie treffen nicht eine 'return' Anweisung – friedo
@friedo: Wenn sie eine' return' Anweisung treffen , was ist die letzte Anweisung ausgeführt? : P –
Nun, die weniger komische Art, das zu sagen, ist das Ergebnis des letzten ausgewerteten Ausdrucks. Dies ist möglicherweise nicht der "letzte Wert", da Unterprogramme mehrere Elemente zurückgeben können. –
Hoffentlich sind Sie woanders in Ihrem Code und wir sehen es nicht im Snippet, aber Sie sollten 'use strict; Verwenden Sie Warnungen; ' – Daenyth