On Fri Aug 16 02:13:56 2019, JV wrote:
Show quoted text> In the case at hand no_ignore_case is not necessary since it is
> implied by bundling. The example becomes:
>
> Getopt::Long::Configure( qw( bundling ) );
> @ARGV = ( "-I/foo/var", "-i" );
> GetOptions( "I=s", "i" );
>
> Does this solve the issues?
I'm sorry to have muddied the conversation by saying "bundling" instead of "bundling_values" in my last comment.
The point (see the original post) is that with *bundling_values*, an option -I never works, whether or not bundled with a value.
From your comments this has something to do with case-sensitive parsing, which seemed to me to be contrary to the docs. But EVEN IF case-sensitive parsing were expected, there is no case-mismatch involved, that is "I" matches "I" (there is no "i" involved). Here is an even simpler test case:
Getopt::Long::Configure("bundling_values");
@ARGV=("-I");
GetOptions( "I" => sub{say "Got @_"} ) || die; # "Unknown option: I"
I still don't understand how this can be correct behavior.
Regarding case-sensitivity, the docs say "When configured for bundling...[single-char options are matched case-sensitive]". It is _intentional_ that this does not cover the case of bundling_override?