X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FModule.pm;h=5cc151acf4effb1f1a9e919174161f8383a67846;hb=2f41724d3e3b450e2b73c3971e7a89e35e1bbb70;hp=077cd38fc9a613ec171d20601127dd99e2b9f45d;hpb=fe965815001749bc33205144d408dab8aacaf11c;p=gitmo%2FMoose.git diff --git a/lib/Class/MOP/Module.pm b/lib/Class/MOP/Module.pm index 077cd38..5cc151a 100644 --- a/lib/Class/MOP/Module.pm +++ b/lib/Class/MOP/Module.pm @@ -74,7 +74,7 @@ sub _instantiate_module { my($self, $version, $authority) = @_; my $package_name = $self->name; - Class::MOP::_is_valid_class_name($package_name) + _is_valid_class_name($package_name) || confess "creation of $package_name failed: invalid package name"; $self->add_package_symbol('$VERSION' => $version) @@ -85,6 +85,18 @@ sub _instantiate_module { return; } +sub _is_valid_class_name { + my $class = shift; + + return 0 if ref($class); + return 0 unless defined($class); + return 0 unless length($class); + + return 1 if $class =~ /^\w+(?:::\w+)*$/; + + return 0; +} + 1; # ABSTRACT: Module Meta Object