use strict; our $\="\n"; my @A=qw< a b c>; sub ret_array { return @_; } sub ret_list { return @_[0..$#_]; } sub ret_slice_arr1 { return @{[@_[0..$#_]]}; } sub ret_slice_arr2 { return my @a= @_[0..$#_] ; } print scalar(ret_array(@A)); #> 3 print scalar(ret_list(@A)); #> 0 print scalar(ret_slice_arr1(@A)); #> 3 print scalar(ret_slice_arr2(@A)); #> 3