package A; sub B{ print "A::B called with args <@_>\n"; shift; return A::B->new(@_); } package A::B; sub new{ print "A::B::new called with args: <@_>\n"; return bless {}, shift; } 1