Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Testing for a module's presence

by rlb3 (Deacon)
on Feb 06, 2005 at 02:44 UTC ( [id://428414]=note: print w/replies, xml ) Need Help??


in reply to Testing for a module's presence

Hello,
I think you would have to do something like:
eval { require Some::Module; }; if ($@) { print "Can't find Some::Module\n"; }

When you say "use", things happen at compile time and would happen before the eval so, the error would not get trapped.

rlb3

Replies are listed 'Best First'.
Re^2: Testing for a module's presence
by sandfly (Beadle) on Feb 11, 2005 at 23:09 UTC
    "require" also better because it doesn't call import(). The module code still gets executed though. Typically, "require"d modules just create subs in their own package, but a badly-behaved module could in principle mess up any namespace.

    If you want to "use" a module at runtime, you can eval a quoted string:
    eval "use $mymodule";<br>print $@ if $@;

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (1)
As of 2024-04-19 00:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found