print "class null { sub n { 1 } }\n" ; { package Foo ; use strict qw(vars) ; sub new { my $class = shift ; my $this = bless({} , $class) ; my $ret_this = $this->Foo(@_) if defined &Foo ; $this = $ret_this if ( UNIVERSAL::isa($ret_this,$class) ) ; $this = undef if ( $ret_this eq '0' ) ; return $this ; } sub test { my $this = shift ; print "test>>@_\n" ; print " sub fake { 2 } \n" ; } }