I maintain two Perl modules, Net::Z3950::SimpleServer and Net::Z3950::FOLIO.

The former defines classes for a bunch of node-types which together represent a parsed query — things like Net::Z3950::RPN::Term, Net::Z3950::RPN::And, and so on. The latter enhances the functionality of these classes by adding extra methods — a technique I have seen referred to as "monkey-punching", though if there is a more Perlish name for it I would like to be enlightened.

My problem: SimpleServer is at version 1.21. When I try to publish the newer FOLIO module on CPAN, which is at version 1.0, it is rejected with error messages like:

     module : Net::Z3950::RPN::And
     version: 1.0
     in file: Net-Z3950-FOLIO-1.0/lib/Net/Z3950/FOLIO.pm
     status : Not indexed because
             Net-Z3950-SimpleServer-1.21/SimpleServer.pm in
             M/MI/MIRK/Net-Z3950-SimpleServer-1.21.tar.gz has a higher
             version number (1.21)
How can I specify in the FOLIO module that I am not trying to define these classes, only add new methods? And so tell CPAN that I am not trying to provide alternative definitions.

Thank you!


In reply to Dealing with package version numbers when monkey-punching by MikeTaylor

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.