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 )