my ($var,$rlist) = @_; # de-reference $rlist like so: @{$rlist} - but, TIMTOWTDI ;) foreach(@{$rlist}) { #do stuff } #### my $var = shift; my @list = @{+shift}; # you cannot use @{shift}, the + operator tricks perl # into getting the value of shift first