Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

use requires code in at compile time so what you have really won't work. Your could use require which will do it at run-time but is slower. The best approach I've seen (believe this is in the Camel Book) is to use a BEGIN block in combination with eval. However that is going to only test if the module is installed, I don't believe variables such as your $type would be initialized yet (I could be wrong on that one)

Then of course you have the problem with your subs. You could create an AUTOLOAD in your modules that would capture any calls to subs that didn't exist and return some kind of flag to that affect.

Honestly though I think all that is really more work that you want. I think requireing the modules is going to be slower than just useing all the ones you may need even if you don't make calls to all of them. Then you don't have to worry about undefined subs either.

Lobster Aliens Are attacking the world!

In reply to Re: use module if condition is met by cfreak
in thread use module if condition is met by Grygonos

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, 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, 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.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others musing on the Monastery: (7)
    As of 2017-11-17 18:25 GMT
    Find Nodes?
      Voting Booth?
      In order to be able to say "I know Perl", you must have:

      Results (270 votes). Check out past polls.