Subroutines are compiled when the their source file is initially encountered. For the main source file and any modules that are called through "use", this means at startup. (On the other hand, "require and "new" are run time statements.) Method calls have a little bit of additional overhead, because perl needs to search the @ISA chain and find the package of the ancestor class which contains the method. On the first call to a method, perl caches the package that contains the subroutine, speeding things up for subsequent calls. The UNIVERSAL::can() method can perform this lookup, and I believe it performs the same caching as the inital method call.

In reply to RE: Preloading subs by aml
in thread Preloading subs by jdavis

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.