You can use a custom import() routine (see use) to change the API of a module based on the argument list to use, but that would break the possibility of using different APIs in different sections of the program or at least it would require you to bind the API version to the caller's package which would be messy.

If you're going to base all your functionality on objects, you could also base the API version on some argument to the object's constructor.

In any case, I wouldn't recommend doing either. If the changes are minor, you could probably get away with adding new versions of routines under another name. If the changes are significant, I'd probably just create a new module, possibly incorporating the main version number in the module name, i.e. use Module2; vs use Module;


In reply to Re: Multiple versions of a module by Joost
in thread Multiple versions of a module by newest_newbie

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.