Test->new(); # Calls Obj::new Test::new(); # Fails $Test::$foo; # Fails for the same reason that Test::new did #### sub test { my $self = shift; my $class = ref($self) || $self; local $Name; { no strict 'refs'; *Name = \${"$class\::Name"}; } print $Name; }