Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

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'.


-><- -><- -><- -><- -><-
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?

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (11)
As of 2016-04-29 15:27 GMT
Find Nodes?
    Voting Booth?
    :nehw tseb si esrever ni gnitirW

    Results (441 votes). Check out past polls.