use Pod::Usage; # is the same as BEGIN { require Pod::Usage; Pod::Usage->import(); }
BEGIN blocks execute at compile time, not run time.

Assuming that often you run without ever using the Pod functions, and you want to fire that module up only if you will be needing it, you could have a runtime flag like this:

if ($needPod) { require Pod::Usage; Pod::Usage->import(); }
I leave it you to decide how this applies to your code. You have to do the require and import before using any functionality of Pod::Usage.

Usually GetOPt::Std is enough for me. I almost never use autodie and absolutely never use it in end user code.


In reply to Re^3: slow startup for some common modules? (autodie, Pod::Usage, Getopt::Long)) by Marshall
in thread slow startup for some common modules? (autodie, Pod::Usage, Getopt::Long)) by almr

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.