NAME
    Command::Do - Simple Command-Line Interfaces

VERSION
    version 0.120001

SYNOPSIS
    in yourcmd:

        use YourCmd;
        YourCmd->new->run;

    in lib/YourCmd.pm

        package YourCmd;
        use Command::Do;

        field name => {
            alias   => 'n',
            filters => ['trim', 'strip', 'titlecase'],
            default => 'Gorgeous'
        };

        command sub {
            my ($self, $options, $args) = @_;

            if ($self->validate('name')) {
                printf "You sure have a nice name, %s\n", $self->name;
            }
        };

    and, finally, on the command line:

        $ yourcmd
        You sure have a nice name, Gorgeous

        $ yourcmd --name=handsome
        You sure have a nice name, Handsome

        $ yourcmd -n=beautiful
        You sure have a nice name, Beautiful

DESCRIPTION
    Command::Do is a simple toolkit for building simple yet sophisticated
    command-line applications. It includes very little magic (this is a
    feature, not a bug) and is useful when creating, validating, executing,
    and organizing command-line applications and actions. Command::Do
    inherits its functionality from Validation::Class which makes it and any
    namespace derived from it a Validation::Class, which allows you to
    focus-on and describe your command-line arguments and how they should be
    validated. Command::Do also uses Smart::Options for parsing command-line
    options.

    Command::Do is very unassumming as thus flexible. It does not impose a
    particular application configuration and its dependencies are trivial
    and easily fatpacked. Command::Do does not render usage-text or
    auto-validate arguments, it simply provides you with the tools to do so
    wrapped-up in a nice DSL.

    The name Command::Do is meant to convey the idea, command-and-do, i.e.,
    write a command and do something! It is also a play on the word commando
    which is defined as a soldier specially trained to carry out raids; In
    English, the term commando usually means a person in an elite light
    infantry and/or special operations unit, specializing in amphibious
    landings, parachuting, rappelling and similar techniques, to conduct and
    effect attacks ... which is how I like to think about the command-line
    scripts I author.

AUTHOR
    Al Newkirk <anewkirk@ana.io>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2013 by Al Newkirk.

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

