in reply to Re^2: wantarray alternative
in thread wantarray alternative
no! whatever comes after return is executed in the context of the sub's call.
so in this case¹ $name = scalar @out
It's true many people expect a LIST to be returned but thats generally wrong in scalar context.
A helper routine sub listify { (@_)[0..$#_] } might help to assure this "expected" behaviour, whenever you need to return a LIST².
Cheers Rolf
( addicted to the Perl Programming Language)
PS: please read the thread I linked before asking more questions.
¹) which isn't the code from the post I replied to, where a map-statement is returned
> Clever, but not elegant.
Larry will be so devastated to hear this ... :´(
²) FWIW
DB<112> sub listify { (@_)[0..$#_] } DB<113> sub tst { listify map{lc} @_ } DB<114> $s =tst("A".."D") => "d" DB<115> @l =tst("A".."D") => ("a", "b", "c", "d")
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: wantarray alternative
by tqisjim (Beadle) on Jul 10, 2013 at 22:28 UTC |