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!
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- 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
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||