The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Prophet::CLIContext

VERSION

version 0.751

mutate_attributes ( args => $hashref, props => $hashref, type => 'str' )

A hook for running a second command from within a command without having to use the commandline argument parsing.

If type, uuid, or primary_commands are not passed in, the values from the previous command run are used.

cmp_regex

The regex to use for matching property key/value separators.

$ID_REGEX

The regex to use for matching the id argument (luid / uuid).

setup_from_args

Sets up this context object's arguments and key/value pairs from an array that looks like an @ARGV.

parse_args @args

This routine pulls arguments (specified by --key=value or --key value or -k value) and properties (specified by --props key=value or -- key=value) as passed on the command line out of ARGV (or something else emulating ARGV) and sticks them in "args" or "props" and "prop_set" as necessary. Argument keys have leading "--" or "-" stripped.

If a key is not given a value on the command line, its value is set to undef.

More complicated separators such as =~ (for regexes) are also handled (see "cmp_regex" for details).

set_type_and_uuid

When working with individual records, it is often the case that we'll be expecting a --type argument and then a mess of other key-value pairs.

This routine figures out and sets type and uuid from the arguments given on the command-line, if possible. Being unable to figure out a uuid is fatal.

AUTHORS

  • Jesse Vincent <jesse@bestpractical.com>

  • Chia-Liang Kao <clkao@bestpractical.com>

  • Christine Spang <christine@spang.cc>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2009 by Best Practical Solutions.

This is free software, licensed under:

  The MIT (X11) License

BUGS AND LIMITATIONS

You can make new bug reports, and view existing ones, through the web interface at https://rt.cpan.org/Public/Dist/Display.html?Name=Prophet.

CONTRIBUTORS

  • Alex Vandiver <alexmv@bestpractical.com>

  • Casey West <casey@geeknest.com>

  • Cyril Brulebois <kibi@debian.org>

  • Florian Ragwitz <rafl@debian.org>

  • Ioan Rogers <ioanr@cpan.org>

  • Jonas Smedegaard <dr@jones.dk>

  • Kevin Falcone <falcone@bestpractical.com>

  • Lance Wicks <lw@judocoach.com>

  • Nelson Elhage <nelhage@mit.edu>

  • Pedro Melo <melo@simplicidade.org>

  • Rob Hoelz <rob@hoelz.ro>

  • Ruslan Zakirov <ruz@bestpractical.com>

  • Shawn M Moore <sartak@bestpractical.com>

  • Simon Wistow <simon@thegestalt.org>

  • Stephane Alnet <stephane@shimaore.net>

  • Unknown user <nobody@localhost>

  • Yanick Champoux <yanick@babyl.dyndns.org>

  • franck cuny <franck@lumberjaph.net>

  • robertkrimen <robertkrimen@gmail.com>

  • sunnavy <sunnavy@bestpractical.com>