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