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