The current plans indicate that a subroutine's params should be defaulted
like this:

   sub load_data ($filename ; $version / /= 1) {...}

(The space between / and / is on purpose, my emailer has problems if they
are together.)  If that's the technique, how does the caller indicate that
the second param is *supposed* to be undef?  If I were to call a sub like
this:

  load_data ($filename, undef);

then I would expect that means that I am explicitly saying the second
argument is supposed to be undef.  However, if I call it like this:

  load_data ($filename);

then I'm not sending the second param and it can be whatever the default is.
Ergo, I propose that / /= and simply = are both allowed and mean slightly
different things:

   # $version is 1 if the second param isn't sent at all
   sub load_data ($filename ; $version = 1) {...}

   # $version is 1 if the second param is undef
   sub load_data ($filename ; $version / /= 1) {...}

(Yes, this is a repeat of an earlier suggestion.  It was suggested I might
repost reworded.)

-Miko

Reply via email to