sub enum (\@$$){ ... } use feature 'state'; while ( enum @a => state $value, state $i ){ print "enum: $i $value\n"; } #### DB<7> sub tst ($;$) {print scalar @_ } DB<8> tst(my($x,$y)) 1 #### DB<3> sub tst {print scalar @_ }

DB<4> tst( my ($a,$b)) 2 DB<5> tst( my ($a,$b,$c)) 3 DB<6> tst( my ($a,$b,$c,$d)) 4