Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://183372]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (10)
As of 2018-01-18 14:22 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (211 votes). Check out past polls.