-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Module::Build accepts just about any argument convention under the rainbow in an unpleasantly heuristic and opportunistic manner. To be more precise it will accept any of:
- verbose=1
- --verbose
- --verbose 1
- --verbose=1
- --no-verbose
- --noverbose
- --no_verbose
Getopt::Long (and other parsers AFAIK) can only parse some of those, in three different ways but never more than half at the same time.
- As a boolean option (
verbose!) it can parse 2, 5 and 6 - As an integer option with mandatory argument (
verbose=i) it can parse 3 and 4 - As an integer option with an optional argument (
verbose:1) it can parse 2, 3 and 4
Module::Build::Tiny does the last possibility currently, which I consider the most backwards compatible option as it makes the common styles 2 and 3 DWIM. Other than style 1 (which we don't support anyway), I don't think I've seen any of the others in the wild (5-7 would be silly anyway).