in reply to array or scalar, that's the question

In list context, every sub returns a list. In scalar context, every sub returns a scalar.
That's because return "knows" the context the sub is in.
With @tmp = func(), func() will always return a list. It could be a list with just one item, but it's still a list.

Note: a sub never returns an array (it could return a list with a reference to an array in it, though)

Think about rewriting someonesFunc to return a reference, or to use wantarray.

2;0 juerd@ouranos:~$ perl -e'undef christmas' Segmentation fault 2;139 juerd@ouranos:~$