X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose.pm;h=8f6d75e1d98048f1f9528a0cf9fa0ff4ef456955;hb=3c2bc5e2dc448e36704a71f25d66503cef8831fb;hp=89b5bab922bcc757f99488ae9a1d48f3d239c1f3;hpb=e67a0fca94990eac69dc5e8f8f189162f760c7e6;p=gitmo%2FMoose.git diff --git a/lib/Moose.pm b/lib/Moose.pm index 89b5bab..8f6d75e 100644 --- a/lib/Moose.pm +++ b/lib/Moose.pm @@ -4,14 +4,13 @@ package Moose; use strict; use warnings; -our $VERSION = '0.12'; +our $VERSION = '0.13'; use Scalar::Util 'blessed', 'reftype'; use Carp 'confess'; use Sub::Name 'subname'; use B 'svref_2object'; -use UNIVERSAL::require; use Sub::Exporter; use Class::MOP; @@ -224,9 +223,13 @@ sub _load_all_classes { # loading has a locally defined # &require, we make sure that we # use the on in UNIVERSAL - ($super->UNIVERSAL::require) - || confess "Could not load module '$super' because : " . $UNIVERSAL::require::ERROR; - } + my $file = $class . '.pm'; + $file =~ s{::}{/}g; + eval { CORE::require($file) }; + confess( + "Could not load module '$super' because : $@" + ) if $@; + } } sub _is_class_already_loaded { @@ -237,7 +240,7 @@ sub _is_class_already_loaded { next if substr($_, -2, 2) eq '::'; return 1 if defined &{"${name}::$_"}; } - return 0; + return 0; } 1;