Alien-Selenium
view release on metacpan or search on metacpan
inc/Module/Load/Conditional.pm view on Meta::CPAN
eval { load $mod };
### in case anything goes wrong, log the error, the fact
### we tried to use this module and return 0;
if( $@ ) {
$error = $@;
$CACHE->{$mod}->{usable} = 0;
last BLOCK;
} else {
$CACHE->{$mod}->{usable} = 1;
}
### module not found in @INC, store the result in
### $CACHE and return 0
} else {
$error = loc(q[Module '%1' is not uptodate!], $mod);
$CACHE->{$mod}->{usable} = 0;
last BLOCK;
}
}
} # BLOCK
if( defined $error ) {
$ERROR = $error;
Carp::carp( loc(q|%1 [THIS MAY BE A PROBLEM!]|,$error) ) if $args->{verbose};
return undef;
} else {
return 1;
}
}
#line 404
sub requires {
my $who = shift;
unless( check_install( module => $who ) ) {
warn loc(q[You do not have module '%1' installed], $who) if $VERBOSE;
return undef;
}
my $lib = join " ", map { "-I$_" } @INC;
my $cmd = qq[$^X $lib -M$who -e"print(join(qq[\\n],keys(%INC)))"];
return sort
grep { !/^$who$/ }
map { chomp; s|/|::|g; $_ }
grep { s|\.pm$||i; }
`$cmd`;
}
1;
__END__
=head1 Global Variables
The behaviour of Module::Load::Conditional can be altered by changing the
following global variables:
=head2 $Module::Load::Conditional::VERBOSE
This controls whether Module::Load::Conditional will issue warnings and
explenations as to why certain things may have failed. If you set it
to 0, Module::Load::Conditional will not output any warnings.
The default is 0;
=head2 $Module::Load::Conditional::CACHE
This holds the cache of the C<can_load> function. If you explicitly
want to remove the current cache, you can set this variable to
C<undef>
=head2 $Module::Load::Conditional::ERROR
This holds a string of the last error that happened during a call to
C<can_load>. It is useful to inspect this when C<can_load> returns
C<undef>.
=head1 See Also
C<Module::Load>
=head1 AUTHOR
This module by
Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
This module is
copyright (c) 2002 Jos Boumans E<lt>kane@cpan.orgE<gt>.
All rights reserved.
This library is free software;
you may redistribute and/or modify it under the same
terms as Perl itself.
( run in 0.940 second using v1.01-cache-2.11-cpan-119454b85a5 )