Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Range in Getopt

by roho (Monsignor)
on Oct 03, 2012 at 13:26 UTC ( #997054=note: print w/ replies, xml ) Need Help??


in reply to Re: Range in Getopt
in thread Range in Getopt

I like your solution, but when no -d parameter is present, the following warning is displayed:

Warning: something's wrong at C:\tmp\getopt-range.pl line 15.

This appears to be a warning from Getopt::Long. I tried adding return 1 if !defined @_; at the top of the sub but the warning persists.

"Its not how hard you work, its how much you get done."


Comment on Re^2: Range in Getopt
Re^3: Range in Getopt
by james2vegas (Chaplain) on Oct 03, 2012 at 18:34 UTC
    That is because while the d option's value is required, the d option itself is not, check the definedness of $_debug afterwards:

    use Getopt::Long; my $_debug; GetOptions('d=i' => sub { $_debug = $_[1]; ($_debug > 0 && $_debug <= 4) or die "Invalid Debug Level ($_d +ebug)" } ) or exit 1; die "Debug Level is required" unless defined $_debug; warn "Debug Level is $_debug\n";

    or set a default value before GetOptions:

    use Getopt::Long; my $_debug = 0; GetOptions('d=i' => sub { $_debug = $_[1]; ($_debug > 0 && $_debug <= 4) or die "Invalid Debug Level ($_d +ebug)" } ) or exit 1; warn "Debug Level is $_debug\n";

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (8)
As of 2014-10-24 08:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (131 votes), past polls