@_ is a list array.
What gets passed in comes out but you need to let perl know what you want at the other end...eg...
some_routine(%foo);
Then in some_routine() you'd need to say you wanted %foo by saying:
%foo = @_
I think %foo is actually split up so every key and value takes up an element of its own in @_ as if you have:
%foo = ( A => 'B' );
...and don't use %foo = @_ in your routine then you can get A and B from $_[0] and $_[1]
What gets passed in comes out but you need to let perl know what you want at the other end...eg...
some_routine(%foo);
Then in some_routine() you'd need to say you wanted %foo by saying:
%foo = @_
I think %foo is actually split up so every key and value takes up an element of its own in @_ as if you have:
%foo = ( A => 'B' );
...and don't use %foo = @_ in your routine then you can get A and B from $_[0] and $_[1]