Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: What does return() mean?

by pvaldes (Chaplain)
on Oct 27, 2014 at 22:36 UTC ( #1105222=note: print w/replies, xml ) Need Help??


in reply to What does return() mean?

Well, a more interesting question could be what is the difference between saying 'return ()' or just 'return'.

If you do not provide a return last line, your function will exit with an empty list in list context: '()'. If you provide a value (or an appropriate expression like: print "2") you exit with this value, examples: return 2 -> 2; return ()-> the empty list

So your function is the same as: sub myfunc{}; that does... nothing:

perl -e 'sub myfunc{}; my @var = (1,2,3,4); myfunc(@var); print join(",",@var),"\n"'

perl -e 'sub myfunc{return}; my @var = (1,2,3,4); myfunc(@var); print join(",",@var),"\n"'

perl -e 'sub myfunc{return ()}; my @var = (1,2,3,4); myfunc(@var); print join(",",@var),"\n"'

perl -e 'sub foo{return ()}; my %hash = (1 => 2, 3 => 4); foo(%hash); while (my ($k, $v)=each %hash){print "$k,$v\n"};'

But, such "nothing" functions can still do something:

perl -e 'my @var = (1,2,3,4); sub baz {}; @var = baz(); print "po", jo +in(",",@var),"of!\n";' perl -e 'sub foo{return ()}; my %hash = (1 => 2, 3 => 4); %hash = foo( +); while (my ($k, $v)=each %hash){print "$k,$v\n"};'

you can use undef $var for the same purpose

Replies are listed 'Best First'.
Re^2: What does return() mean?
by AnomalousMonk (Bishop) on Oct 28, 2014 at 03:10 UTC

    I find this a highly confusing explanation. Better yistaaa should read the return doc and perlsub (especially the fourth and fifth paragraphs of the DESCRIPTION section), and then come back and take another crack at this post.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1105222]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (9)
As of 2019-10-22 13:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?