Second, you could look for all the scripts that use p and alter them to accept the different version. This may cause immediate errors if you miss an existing procedure or botch up the alteration of an existing procedure. The addition of a switch to p gives you a third option. You could arrange for p 2 string 4.0 to execute p in the old way and p -newbehavior 2 string 4.0 to execute p in the new way. Existing scripts that use p need not be altered .
New scripts require the use of the -newbehavior switch.
New is set to false otherwise. If this option does not exist, the named variable is guaranteed to be undefined. Additional switches and options could be listed in the first and second arguments in the same manner as those shown. Also note that, although the example just shown has both a switch and an option, you might not need both. In particular, if your revision of p needs no new parameter, the option may not be needed and, if your revision of p needs a new parameter, the switch may not be needed.