improve get_package_variable;
Stevan Little [Sat, 25 Feb 2006 17:51:09 +0000 (17:51 +0000)]
lib/Class/MOP/Class.pm

index d7073f8..099e1fa 100644 (file)
@@ -463,12 +463,10 @@ sub get_package_variable {
     my ($sigil, $name) = ($variable =~ /^(.)(.*)$/); 
     no strict 'refs';
     # try to fetch it first,.. see what happens
-    eval '\\' . $sigil . $self->name . '::' . $name;
+    my $ref = eval '\\' . $sigil . $self->name . '::' . $name;
     confess "Could not get the package variable ($variable) because : $@" if $@;    
     # if we didn't die, then we can return it
-    # NOTE:
-    # this is not ideal, better suggestions are welcome
-    eval '\\' . $sigil . $self->name . '::' . $name;   
+       return $ref;
 }
 
 sub remove_package_variable {