Depends on the situation. Refs are more efficient when you're dealing with larger datasets, but less comfortable for people who aren't as accustomed to dealing with them.

My personal practice is to always return refs because it lets me concentrate on more important things than trying to remember which functions return refs and which return arrays/hashes. Always returning arrays/hashes would have this same benefit, of course, but doesn't allow for returning multiple array/hash results.

And then there's the option of using wantarray to return refs in scalar context and arrays/hashes in list context. In theory, it seems like it could provide the best of both worlds by letting the caller get the result in whatever form they want, but it's not a habit I've cultivated. And it also doesn't work for returning multiple array/hash results.


In reply to Re: return ref is better ? by dsheroh
in thread return ref is better ? by odrevet

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.