Marcel Grünauer == hanekomu (跳ね込む) > Getopt-Attribute-1.44 > Getopt::Attribute

Download:
Getopt-Attribute-1.44.tar.gz

Dependencies

Annotate this POD

Related Modules

Getopt::Long
Getopt::ArgvFile
Getopt::Declare
Getopt::Simple
Getopt::Regex
Mail::Sender
Getopt::Tabular
CGI::Application
File::Slurp
Attribute::Types
more...
By perlmonks.org

CPAN RT

Open  0
Report a bug
Module Version: 1.44   Source  

NAME ^

Getopt::Attribute - Attribute wrapper for Getopt::Long

SYNOPSIS ^

  use Getopt::Attribute;

  our $verbose : Getopt(verbose!);
  our $all     : Getopt(all);
  our $size    : Getopt(size=s);
  our $more    : Getopt(more+);
  our @library : Getopt(library=s);
  our %defines : Getopt(define=s);
  sub quiet : Getopt(quiet) { our $quiet_msg = 'seen quiet' }
  usage() if our $man : Getopt(man);
  ...

  # Meanwhile, on some command line:

  mypgm.pl --noverbose --all --size=23 --more --more --more --quiet
           --library lib/stdlib --library lib/extlib
           --define os=linux --define vendor=redhat --man -- foo

DESCRIPTION ^

Note: This version of the module works works with perl 5.8.0. If you need it to work with perl 5.6.x, please use an earlier version from CPAN.

This module provides an attribute wrapper around Getopt::Long. Instead of declaring the options in a hash with references to the variables and subroutines affected by the options, you can use the Getopt attribute on the variables and subroutines directly.

As you can see from the Synopsis, the attribute takes an argument of the same format as you would give as the hash key for Getopt::Long. See the Getopt::Long manpage for details.

Note that since attributes are processed during CHECK, but assignments on newly declared variables are processed during run-time, you can't set defaults on those variables beforehand, like this:

        our $verbose : Getopt(verbose!) = 1;  # DOES NOT WORK

Instead, you have to establish defaults afterwards, like so:

        our $verbose : Getopt(verbose!);
        $verbose ||= 1;

Alternatively, you can specify a default value within the Getopt attribute:

    our $def2 : Getopt(def2=i 42);

To check whether there was an error during getopt processing you can use the error() function:

    pod2usage(-verbose => 2, -exitval => 0) if Getopt::Attribute->error;

BUGS AND LIMITATIONS ^

No bugs have been reported.

Please report any bugs or feature requests to bug-getopt-attribute@rt.cpan.org, or through the web interface at http://rt.cpan.org.

INSTALLATION ^

See perlmodinstall for information and options on installing Perl modules.

AVAILABILITY ^

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.

AUTHOR ^

Marcel Grünauer, <marcel@cpan.org>

COPYRIGHT AND LICENSE ^

Copyright 2001-2007 by Marcel Grünauer

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.