in reply to Passing values in a hash to a subroutine:

in subroutines, @_ is the array of arguments passed to the subroutine -- $_ is not related to @_ -- specificly,
$_ isn't $_[0] $_[0] is the first element of @_ Compare to $a, @a, and $a[0]
Does this make sense?