delay_use
view release on metacpan or search on metacpan
delay_use.pm view on Meta::CPAN
use warnings;
use base qw(Exporter);
our $VERSION = '1.00';
our @EXPORT = qw(delay_use);
our $ERROR = undef;
our $DEBUG = 0;
our $ABORT = 0;
our %INC = ();
sub delay_use {
my $pkg = shift;
my $caller = (caller)[0] || 'main';
my $func = $INC{$pkg} ||= eval qq{
sub {
package $caller;
eval qq{require $pkg};
if(\$@){
\$delay_use::ERROR = \$@;
delete \$delay_use::INC{$pkg};
print STDERR \$delay_use::ERROR if \$delay_use::DEBUG;
exit(-1) if \$delay_use::ABORT;
return;
( run in 1.478 second using v1.01-cache-2.11-cpan-a3c8064c92c )