sub new { my $class = ( @_ ? ( ref($_[0]) ? ( UNIVERSAL::isa($_[0] , __PACKAGE__) ? ref(shift(@_)) : __PACKAGE__ ) : ( $_[0] =~ /^\w+(?:::\w+)*$/ ? shift(@_) : __PACKAGE__ ) ) : __PACKAGE__ ) ; my $this = bless {}, $class ; ## initialyze code... return $this ; }