Eric Wilhelm <[EMAIL PROTECTED]> writes: > You wouldn't say > > --foo --no-foo > > if you just meant > > --no-foo > > Would you?
I think the basic question is, what do you expect from a certain combination of options and arguments. For example, --foo arg1 --no-foo arg2 This can be interpreted as: process arg1 and arg2 with $foo == 0 process arg1 and arg2 with $foo == 1 process arg1 with $foo == 1, and arg2 with $foo == 0 process arg1, --no-foo and arg2 with $foo == 1 Even more exotic possibilities: process something with $foo == "arg1" and $no_foo == "arg2" process arg2 with @foo == qw(--no-foo arg2) process something with @foo == qw(arg1 --no-foo arg2) and so on As I wrote in an earlier message, there's no real standard on what interpretation is correct, hence they all have a reason for being there. And Getopt::Long handles all of them (and more). Too much flexibility? Maybe. But where does the flexibility get in the way? Using configuration options, most of the flexibility can be controlled. -- Johan