- or download this
my $foo = some_func();
my ($foo) = some_func(); # may or may not behave the same!
- or download this
sub some_func {
# do stuff
return wantarray ? @results : \@results; # is void context OK?
}
- or download this
sub some_func {
# do stuff
return wantarray
...
? \@results
: warn "Useless void context";
}
- or download this
sub some_func {
# do stuff
if (wantarray) {
...
warn "this is tedious";
}
}
- or download this
use Attribute::Context;
sub some_func : Arrayref(WARNVOID) {
# do stuff
return @results;
}
- or download this
sub some_func : Custom(Some::Class) {
# do stuff
return @results;
} # scalar context returns Some::Class->new(\@results)