NAME
opts - simple command line option parser
SYNOPSIS
# in script.pl
use opts;
opts my $foo => 'Int';
./script.pl --foo=4 # $foo => 4
./script.pl --foo 4 # $foo => 4
./script.pl -f=4 # $foo => 4
# in script.pl
opts my $foo => { 'Int', required => 1 },
my $bar => 'Int';
./script.pl --foo=3 --bar=4 # $foo => 3, $bar => 4
./script.pl --foo=4 # $foo => 4, $bar => undef
./script.pl --bar=4 # error!
# in script.pl
opts my $foo => {isa => 'Int', default => 3},
./script.pl --foo=4 # $foo => 4
./script.pl # $foo => 3
# in script.pl
opts my $foo => { isa => 'Int', alias => 'x|bar' };
./script.pl --foo=4 # $foo => 4
./script.pl --bar=4 # $foo => 4
./script.pl -f=4 # $foo => 4
./script.pl -x=4 # $foo => 4
DESCRIPTION
opts is DSL for command line option.
Options
isa
define option value type. see $opts::TYPE_CONSTRAINT.
if you need more type, see opts::coerce
required
define option value is required.
default
define options default value.
alias
define option param's alias.
opts::coerce
opts::coerce NewType => SrcType => generater;
ex)
opts::coerce DateTime => 'Str' => sub { DateTime->strptime("%Y-%m-%d", shift) };
opts my $date => 'DateTime';
$date->ymd; # => yyyy/mm/dd
AUTHOR
Kan Fushihara <kan.fushihara at gmail.com>
SEE ALSO
http://github.com/tokuhirom/p5-args, Getopt::Long
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.