Oops. I was really wanting to be able to call a Perl subroutine with optional arguments specifically in the form &sub_foo(arg1,,arg3); But after delving into the pod files and finding that Perl interpolates the list ((),(),()) as (), I concluded that Perl probably interprets the actual arguments to a subroutine as a list. The list (arg1,,arg3) then would probably be parsed as (arg1,(),arg3) and interpolated into the list (arg1,arg3). I am in the process of converting a C++ library to Perl modules and was trying to make the modules behave as closely as possible to the C++ library. I was under the impression that one could omit an optional argument in a C or C++ function call by just typing an extra comma in the argument list. But I just tried it in a C program, and the compiler puked. So what I was trying to emulate is probably a non-existant capability in C++. David Seay wrote: > > Richard L. Grubb wrote: > > > >Is there any way (or maybe I should say, How many ways are there) in > >Perl to get a subroutine to recognize > >a null argument? > > > >For instance, I would like subroutine sample below to > >print out > > > >1 > > > >2 > > > >or > > > >1 > >NULL > >2 > > > >Instead, it prints > > > >1 > >2 > > > >- ----------------- perl code snippet ----------- > >&sample(1.0,,2.0); > > > >sub sample > >{ > > foreach (@_) > > { > > print "$_ \n"; > > } > >} > > > > $x = "1.0,,2.0"; > &sample; > > sub sample { > @x = split(/,/, $x); > foreach $i (0..$#x) { > if($x[$i]) { > $x=int($x[$i]); > print "$x\n"; > } else { > print "NULL\n"; > } > } > } > > __END__ ==== Want to unsubscribe from this list? ==== Send mail with body "unsubscribe" to macperl-anyperl-request@macperl.org