sub new { my $class=shift; my $id; if (@_ % 2) { $id=shift; } my %args=@_; #.... } #### my $foo=Foo->new(100); my $foo=Foo->new(100,%ARGS); my $bar=Bar->new(%ARGS); my $bar=Bar->new();