Getopt::Popt

Getopt::Popt is a Perl interface to the popt(3) library.
Download

Getopt::Popt Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • James Baker
  • Publisher web site:
  • http://search.cpan.org/~jamesb/Getopt-Popt-0.02/Popt.pm

Getopt::Popt Tags


Getopt::Popt Description

Getopt::Popt is a Perl interface to the popt(3) library. Getopt::Popt is a Perl interface to the popt(3) library.SYNOPSIS use Getopt::Popt qw(:all); # setup the options array push @options,new Getopt::Popt::Option( longName => "long", shortName => "l", argInfo => POPT_ARG_STRING, arg => $qux, val => $val); # or, if you're lazy, have Getopt::Popt automagically do the new() push @options, { shortName => 's', argInfo => POPT_ARG_NONE, arg => $quux, val => 's' }; # "val"s can be a single character or an integer: push @options, { longName => 'xor', argInfo => POPT_ARG_VAL | POPT_ARGFLAG_XOR, arg => $quuux, val => 0xbadf00d # integer },Enable automatic help/usage messages (--help or --usage): push @options, POPT_AUTOHELP;Create a new popt context: $popt = new Getopt::Popt(name => $alias_name, argv => @ARGV, options => @options, flags => $flags);Setup option aliases: # load some aliases $popt->readDefaultConfig(); $popt->readConfigFile("/path/to/aliases"); # add your own alias $alias = new Getopt::Popt::Alias(longName => "taco", argv => ); $popt->addAlias($alias, $alias_flags);Load options as you would in C: # loop through the options, using the popt C way: while(($rc = $popt->getNextOpt()) > 0) { ... # one way to get the arg val $bork = $popt->getOptArg(); ... # stuff some args $popt->stuffArgs(qw(-q -u -x)); ... # start over $popt->resetContext(); ... }And handle errors as you would in C: $errstr = $popt->strerror($rc); $badopt = $popt->badOption($rc,$badopt_flags);Or try the new perly way: eval { while(defined($val = $popt->getNextOptChar())) { ^^^^-- note! # $val is a Scalar::Util::dualvar: if($val eq "c") { # getArgs()


Getopt::Popt Related Software