Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Checking for PERL Modules

by jwest (Friar)
on Jul 19, 2002 at 18:50 UTC ( #183372=note: print w/ replies, xml ) Need Help??


in reply to Checking for PERL Modules

What you want to do is try to load the module in the standard Perlish way, trapping exceptions. An eval block will trap exceptions. The messages that these exceptions produce will be in $@. So, try this:

my @module = qw/Foo Bar::Baz Some::Other::Module/; for my $module (@module) { eval { require $module; }; warn "$module is not available" if $@; }

Suggested reading includes eval, require, and use. For homework, you can adapt this code to include version checking. Read up on Exporter for that.

Hope this helps!

Oh- by the by, 'Perl' is preferred over 'PERL'.

--jwest

-><- -><- -><- -><- -><-
All things are Perfect
    To every last Flaw
    And bound in accord
         With Eris's Law
 - HBT; The Book of Advice, 1:7


Comment on Re: Checking for PERL Modules
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://183372]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2014-09-19 06:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (131 votes), past polls