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

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 ghosh.pl #!/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.
$ ./ghosh.pl --help This is help message $ ./ghosh.pl --abc --help This is help message $ ./ghosh.pl --abc -help This is help message $ ./ghosh.pl --abc -h This is help message $ ./ghosh.pl --abc --h This is help message $ ./ghosh.pl --abc abc -h This is help message $ ./ghosh.pl --abc abc You have choosen "abc" as abc $ ./ghosh.pl --h This is help message $ ./ghosh.pl -h --abc This is help message

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


Comment on Re^4: Help required on Getopt::Long
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2015-07-06 08:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls