#!/usr/bin/perl -w use strict; use Data::Dumper; use Getopt::Long; use Pod::Usage; my $some_param = 5; #Default value my $help = 0; if ( @ARGV == 0 ) { &usage(); exit(1); } my $res = GetOptions ( "someparam|s=s"=>\$some_param, "help"=> \$help, ); &usage() if ($help); if ($res) { # Do sth with param print "PARAM IS: $some_param\n"; } sub usage { print <## sub_usage_pod { =head1 NAME MYCODE - do something =head1 SYNOPSIS sample [options] [file ...] Options: -help brief help message -s Some param -man full documentation =head1 OPTIONS =over 8 =item B<-help> Print a brief help message and exits. =item B<-man> Prints the manual page and exits. =back =head1 DESCRIPTION B will read the given input file(s) and do someting useful with the contents thereof. =cut }