in reply to using "Getopt::Long" how to check parameter mandatory
Just check @ARGV after you parse your options:
use Getopt::Long; my $data = "file1"; my $length = 4; my $verbose; GetOptions ( "length=i" => \$length, "file=s" => \$data, "verbose" => \$verbose ); if (!@ARGV) { print "$0: Argument required.\n"; exit 1 }
I also like to use POD to document my code; thus, pod2usage can be invoked to produce 'nicer' usage output:
use Pod::Usage; ... GetOptions( ... ) or pod2usage(-verbose => 0); ... # Make sure at least one argument provided if (!@ARGV) { pod2usage(-verbose => 0, -message => "$0: argument required\n") }
|
|---|