sub defaults { my ($d1,$d2,$d3) = ( @_ , (1,2,3)[@_ .. 2] ); print("$d1 $d2 $d3\n"); } defaults(); defaults(0); defaults(0, 0); defaults(0, 0, 0);