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.
now, the presence of either -h --h -help --help will trigger help message.$ 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) };
$ ./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!
|
---|
In Section
Seekers of Perl Wisdom