in reply to parameters

Yep, your first code snippet will work just fine. (Did you try it out? :)

In your second code snippet, you can get the array back with either of:

my @list = @{ $_[0] }; my @list = @{shift()};
Passing a ref to the array, as in your second snippet, is the way to go if you need to pass in several arrays and keep them distinct in the subroutine.