Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: passing multipule -v to a script

by mkmcconn (Chaplain)
on Jul 29, 2002 at 22:36 UTC ( [id://186096]=note: print w/replies, xml ) Need Help??


in reply to passing multipule -v to a script

from perldoc Getopt::Long

      An incremental option is specified with a plus "+" after
       the option name:

           my $verbose = '';   # option variable with default value (false)
           GetOptions ('verbose+' => \$verbose);

       Using "--verbose" on the command line will increment the
       value of "$verbose". This way the program can keep track
       of how many times the option occurred on the command line.
       For example, each occurrence of "--verbose" could increase
       the verbosity level of the program.

mkmcconn

Replies are listed 'Best First'.
Passing multiple flags and incrementing
by Ferret (Scribe) on Jul 29, 2002 at 23:28 UTC

    To amplify mkmcconn's neat RTM answer, Getopt::Long does do exactly what you need.

    I'm used to the very C-ish Getopt::Std, which is pretty much a reimplementation of the C function, so expected the same out of Getopt::Long, only word-oriented and using the BSDish -- flag indicator. Wrongo.

    Getopt::Long has all sorts of DWIMmery to accept flags with one or two dashes, increment, and anything else. So, you can just use:

    GetOptions('v+', \$verbose);

    and you will get the behavior you desire from

    scriptname -v -v -v

    Thanks, mkmcconn!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (7)
As of 2024-04-23 20:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found