Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: passing multipule -v to a script

by mkmcconn (Chaplain)
on Jul 29, 2002 at 22:36 UTC ( #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.


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?

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2023-01-31 14:36 GMT
Find Nodes?
    Voting Booth?

    No recent polls found