Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^4: Getopt::Long case matching last wins

by karlberry (Sexton)
on May 30, 2023 at 21:26 UTC ( [id://11152535]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Getopt::Long case matching last wins
in thread Getopt::Long case matching last wins

I'm also using Getopt::Long 2.52 (and perl 5.36.1). I also get the warning with your invocation. But my original code does not get a warning.

After adding debugging lines to Getopt/Long.pm, I see it's because use warnings does not set $^W (in contrast to the -w option that you used, which does). As in:

perl -M'Getopt::Long -e 'use warnings; my ($x,$y); GetOptions ("v" => +\$x, "V" => \$y);'
Getopt::Long uses $^W to decide if the warnings should be reported ($dups is the built-up string of warnings, which is correctly set):
if ( $dups && $^W ) { foreach ( split(/\n+/, $dups) ) { warn($_."\n");

Judging from https://perldoc.perl.org/warnings#Reporting-Warnings-from-a-Module, I guess Getopt::Long should not (solely?) be looking at $^W nowadays?

Grepping the 5.36.1/ directory, I see some 30 other cases of "if.*\$\^W". So the end result is apparently that a few warnings in core modules are missed when using "use warnings", but shown when using -w ...

Replies are listed 'Best First'.
Re^5: Getopt::Long case matching last wins
by hv (Prior) on May 30, 2023 at 22:42 UTC

    I think it likely that the majority of those 30-odd cases (including Getopt::Long) are bugs, though it isn't clear how they should be handled in a world of lexical warnings. Please could you raise an issue ("New issue" here) so that the perl porters can start to consider it for 5.40?

      I did that: https://github.com/Perl/perl5/issues/21134 Thanks.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11152535]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (5)
As of 2024-04-25 14:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found