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

Changes for version 1.05_01 - 2010-09-09

  • KNOWN BUG *** @ARGV is left unchanged. As a result, $c->getopt no longer works. This should be fixed by the time 1.05 comes out.
    • API CHANGE *** $c->execute does not call 'default' or 'invalid' commands anymore if
  • it can't find the command name. Rad itself still does, but via parse_input. You don't have to worry about this unless you make explicit calls to $c->execute.
    • API CHANGE ***
    • (also note we are voting invalid() for complete removal **
    • if you can't live without it, please email me or join us **
    • in #app-rad at irc.perl.org ) **
    • if you redefine invalid(), note the invalid command is no longer passed as $c->cmd. This was inconsistent, being it's not an actual command. Now, the invalid subroutine receives 2 arguments: $c and the offending command, so you can do:
    • sub invalid { my ($c, $invalid_command) = (@_); ... }
    • all other subroutines keep receiving just $c as argument.
    • API CHANGE *** the rarely used create_command_name() method was removed from Rad, or rather -moved- into App::Rad::Include, so if you have code using that, just change your calls from $c->create_command_name() to App::Rad::Include::create_command_name($c) But you most likely never even heard of it, so don't worry.
  • $c->path and $c->realpath new auxiliary methods for giving you the app's bin path and realbin path (via FindBin core module)
  • Added initial Shell-like behavior support via 'App::Rad->shell' (thanks AWNSTUDIO for making major tests and improvements on the first beta)
    • Added support for defining specific command arguments and its
    • attributes (thanks ZOSO for suggesting, everybody at #app-rad for discussing its API, and FCO for implementing the first patch)
      • Fixed bug where --option=0 was being set to 1 and not to 0, as
    • expected (FCO)
  • Fixed bug where plugin names were added more than once to the plugins() list
    • Created experimental App::Rad::Tester to help testing apps created
    • with Rad.
      • Updated documentation
      • Added dynamic type setting for values that are set automatically
    • al newkirk
      • Added default value support for argument options default setting
    • al newkirk
      • Added argument conflict detection [al newkirk]
      • Added stash storing support [al newkirk]
      • Updated alias support [al newkirk]

Documentation

Extend the App::Rad framework!

Modules

Rapid (and easy!) creation of command line applications
'exclude' command extension for App::Rad
'help' command extension for App::Rad
'include' command extension for App::Rad
shell-like execution of App::Rad programs

Provides

in lib/App/Rad/Command.pm
in lib/App/Rad/Config.pm