For the low down on Perl references see perlref. You will probably find that perlsub helps too.

The important bits are:

The Perl model for function call and return values is simple: all functions are passed as parameters one single flat list of scalars

and:

Any arrays or hashes in these call and return lists will collapse, losing their identities

in:

my (...) = @_;

the () provides a list context for the assignment so the elements in @_ are assigned in turn to the variables in (...). In the sample code there happens to be only one element in the list and we could instead have used one of:

my $hash = $_[0]; my $hash = shift;

instead. If you omit the (), then the assignment sees a scalar and assigns the number of elements in @_ to $hash rather than the contents of the first element.


DWIM is Perl's answer to Gödel

In reply to Re^3: Trouble passing hash into function by GrandFather
in thread Trouble passing hash into function by dbonneville

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.