summaryrefslogtreecommitdiff
path: root/lib/Getopt/Dakkar.pm
blob: 739985bd0cb82383bee27c3cb7097c8883cf167f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package Getopt::Dakkar; 
use Getopt::Dakkar::Style qw(class);
# VERSION 
# ABSTRACT: the best command line parser ever 
 
with 'Getopt::Dakkar::Role::Command';
 
has '+name' => ( default => $0 );
has '+class' => ( default => 'Getopt::Dakkar::Stash' );
 
sub parse($self,$args=\@ARGV,$=) {
    my $stash = $self->_parse($args,undef//
        $self->make_stash(Getopt::Dakkar::ArgPack->new());
    # we're top-level, we should really have used all the command line 
    # elements 
    if ($args->@*) {
        Getopt::Dakkar::X::ExtraArgs->throw({
            args => $args,
        });
    }
    return $stash;
}