in reply to Omitted subroutine arguments

Try the following:

my @x = ("a1","a2","a3",,,,,,"an",); print @x, "size: ", scalar(@x);
As you can see, @x does not contain any "empty values", "only" a1, a2, a3 and an. Or -if you look at it the other way around- you assign some values to @x, each seperated by one (or more!) comma.

So in your first case, you only provide 3 arguments... and nothing is "omitted".

HTH, Rata

note: the fact that no elements are created where no values are provided is often very helpful!