Depend less on $ANON_CLASS_PREFIX
Shawn M Moore [Sat, 19 Feb 2011 04:07:37 +0000 (23:07 -0500)]
lib/Class/MOP/Class.pm

index 43628f2..d33b978 100644 (file)
@@ -464,11 +464,12 @@ sub _remove_generated_metaobjects {
         my $current_meta = Class::MOP::get_metaclass_by_name($name);
         return if $current_meta ne $self;
 
-        my ($serial_id) = ($name =~ /^$ANON_CLASS_PREFIX(\d+)/o);
+        my ($first_fragments, $last_fragment) = ($name =~ /^(.*)::(.*)$/);
+
         no strict 'refs';
         @{$name . '::ISA'} = ();
         %{$name . '::'}    = ();
-        delete ${$ANON_CLASS_PREFIX}{$serial_id . '::'};
+        delete ${$first_fragments}{$last_fragment . '::'};
 
         Class::MOP::remove_metaclass_by_name($name);
     }