First of all, Perl is list-oriented and handles passed in
arguments by reference. Therefore the Perlish way to do
this is to just take a list of numbers and work with that.
But I will play off the rule as given even though it is
not the API I would choose.
I know this is the case, what I was trying to prevent doing was giving the 'player' the opporuntity to use the copy of the list if the list was passed by value; they could modify this with no concern over altering the original array. (So, for example, doing something that stores the sum in some place in the list copy, would be possible). However, with passing by reference, any changes to the sub's array would affect the original array, and thus you are forced to find another means to store the value.
Dr. Michael K. Neylon - email@example.com
"You've left the lens cap of your mind on again, Pinky" - The Brain