Whilst it is perfectly valid to bless something into a package in a subroutine in another package, for future maintenance purposes you might want to abstract this further so that the ABC::Data object is actually being created in its own constructor:

package ABC; sub readdatafile { my ( $filename) = @_; # get the data into array as required return ABC::Data->new(\@data); } package ABC::Data; sub new { my ( $class, $ref) = @_; return bless $ref, $class; }
You probably would want to have more logic in ABC::Data::new() to check you really have got the right type of reference and so forth, but the advantage of doing this is that if at some point in the future you need to do some further processing on the data that is peculiar to the ABC::Data 'class' then you can stick it in the constructor without troubling the code that reads the file etc.

/J\


In reply to Re: Returning module pointer by gellyfish
in thread Returning module pointer by yazzle

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.