sub new() {my $p = shift; my $c=ref $p||$p; my $arghash = @_ ? shift : {}; blessed $p? $p->SUPER::new($arg) : ($p = $c->new($arghash); $p }