# Therefore leaving it in indefinitely.
use MRO::Compat;
-use Carp;
+use Carp ();
-our $VERSION = 1.0007;
+our $VERSION = 1.0008;
my $invalid_class = qr/(?: \b:\b | \:{3,} | \:\:$ )/x;
return if ( *{"${f_class}::$_"}{CODE} );
}
-
# require always returns true on success
- eval { require($file) } or do {
+ # ill-behaved modules might very well obliterate $_
+ eval { local $_; require($file) } or do {
$@ = "Invalid class name '$f_class'" if $f_class =~ $invalid_class;
if ($class->can('throw_exception')) {
$class->throw_exception($@);
} else {
- croak $@;
+ Carp::croak $@;
}
};