Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re^4: Help required on Getopt::Long

by naikonta (Curate)
on May 17, 2012 at 15:20 UTC ( #971086=note: print w/replies, xml ) Need Help??

in reply to Re^3: Help required on Getopt::Long
in thread Help required on Getopt::Long

well, since we are about to intercept @ARGV, we can expect string of '--help', may be '-help' or even short versions such as '-h' or '--h' (though the latter seems odd). with version 5.10 or newer, smart match comes handy. i'd take 'help' out from GetOptions(), and prior to calling it, intercept @ARGV and call help() if match found. i like to separate the whole message printing in its own sub for easy modification on the text.
$ cat #!/usr/bin/perl use Getopt::Long; my $abc; @ARGV ~~ /^--?h(elp)?$/ && help(); GetOptions ("abc=s" => \$abc); sub help { print "This is help message\n"; exit; } if ($abc) { print qq(You have choosen "abc" as $abc\n) };
now, the presence of either -h --h -help --help will trigger help message.
$ ./ --help This is help message $ ./ --abc --help This is help message $ ./ --abc -help This is help message $ ./ --abc -h This is help message $ ./ --abc --h This is help message $ ./ --abc abc -h This is help message $ ./ --abc abc You have choosen "abc" as abc $ ./ --h This is help message $ ./ -h --abc This is help message

Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://971086]
[erix]: and what's the "Vineyard"? Don't tell me it's doing supernatural stuff too.
[shmem]: go figure. Might help to open views to other ways of perceiving reality. No, no supernatural stuff.
[shmem]: the "Vineyard" is a biblic term, also. But that's not the point.
[erix]: sorry, my attention is a rar commodity. I will not squander it on such pro-russia sites :)
[erix]: *rare commodity
[shmem]: erix: you are utterly mistaken in marking that site as "pro-russian".
[erix]: how do you mean? the bear, explanations of Putin's "election", the fearsome new russian weaponry. I came across them immediately. Just coincidence?

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (8)
As of 2018-03-19 21:01 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (246 votes). Check out past polls.