X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fautouse.pm;h=cbde3864bf1d6dd1c2711c031353786e645b9e44;hb=0ac635f72b1c233568055bdbc6ccaa474df023f3;hp=a5efaaca7f88067e6215f3be7b6257e13cd11249;hpb=03699e8e149475044b8cf43118cce81b4d360dfb;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/autouse.pm b/lib/autouse.pm index a5efaac..cbde386 100644 --- a/lib/autouse.pm +++ b/lib/autouse.pm @@ -1,9 +1,9 @@ package autouse; #use strict; # debugging only -use 5.003_90; # ->can, for my $var +use 5.006; # use warnings -$autouse::VERSION = '1.03'; +$autouse::VERSION = '1.06'; $autouse::DEBUG ||= 0; @@ -50,11 +50,10 @@ sub import { my $load_sub = sub { unless ($INC{$pm}) { - eval {require $pm}; - die if $@; + require $pm; vet_import $module; } - no warnings 'redefine'; + no warnings qw(redefine prototype); *$closure_import_func = \&{"${module}::$closure_func"}; print "autousing $module; " ."imported $closure_func as $closure_import_func\n" @@ -63,7 +62,8 @@ sub import { }; if (defined $proto) { - *$closure_import_func = eval "sub ($proto) { &\$load_sub }"; + *$closure_import_func = eval "sub ($proto) { goto &\$load_sub }" + || die; } else { *$closure_import_func = $load_sub; }