summaryrefslogtreecommitdiff
path: root/lib/Getopt/Std.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Getopt/Std.pm')
-rw-r--r--lib/Getopt/Std.pm26
1 files changed, 25 insertions, 1 deletions
diff --git a/lib/Getopt/Std.pm b/lib/Getopt/Std.pm
index e1de3b531f..4117ca7f8b 100644
--- a/lib/Getopt/Std.pm
+++ b/lib/Getopt/Std.pm
@@ -2,6 +2,30 @@ package Getopt::Std;
require 5.000;
require Exporter;
+=head1 NAME
+
+getopt - Process single-character switches with switch clustering
+
+getopts - Process single-character switches with switch clustering
+
+=head1 SYNOPSIS
+
+ use Getopt::Std;
+ getopt('oDI'); # -o, -D & -I take arg. Sets opt_* as a side effect.
+ getopts('oif:'); # -o & -i are boolean flags, -f takes an argument
+ # Sets opt_* as a side effect.
+
+=head1 DESCRIPTION
+
+The getopt() functions processes single-character switches with switch
+clustering. Pass one argument which is a string containing all switches
+that take an argument. For each switch found, sets $opt_x (where x is the
+switch name) to the value of the argument, or 1 if no argument. Switches
+which take an argument don't care whether there is a space between the
+switch and the argument.
+
+=cut
+
@ISA = qw(Exporter);
@EXPORT = qw(getopt getopts);
@@ -64,7 +88,7 @@ sub getopts {
($first,$rest) = ($1,$2);
$pos = index($argumentative,$first);
if($pos >= 0) {
- if($args[$pos+1] eq ':') {
+ if(defined($args[$pos+1]) and ($args[$pos+1] eq ':')) {
shift(@ARGV);
if($rest eq '') {
++$errs unless @ARGV;