Prototypes in Perl do not do the same thing as prototypes in C/C++ (mind you, that's an area that is mis-understood as well). In Perl they force the context of the arguments, not the number and type. This is the core of most misunderstandings about prototypes.

Report takes one or two scalars
Is better written as Report takes one or two arguments in scalar context

Personally I find them useful for reference arguments, for example mysub(\@\%). This will generate a compile-time error if the wrong type is passed. Otherwise you have to use ref to check, and the best you can do is report a run-time error.

Their main drawback is that they are so easily circumvented, for example using OO method calls, or prefixing the call with &.

Finally, for the OP, despite all the bad news about prototypes, if it ain't broke don't fix it. Please don't remove the prototype from the module! Just don't use them without a damn good reason.

In reply to Re: Perl Module by cdarke
in thread Perl Module by pparesh

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.