Provided by: libapp-cmd-plugin-prompt-perl_1.005-1_all
NAME
App::Cmd::Plugin::Prompt - plug prompting routines into your commands
VERSION
version 1.005
SYNOPSIS
In your app: package MyApp; use App::Cmd::Setup -app => { plugins => [ qw(Prompt) ], }; In your command: package MyApp::Command::dostuff; use MyApp -command; sub run { my ($self, $opt, $args) = @_; return unless prompt_yn('really do stuff?', { default => 1 }); ... }
SUBROUTINES
prompt_str my $input = prompt_str($prompt, \%opt) This prompts a user for string input. It can be directed to persist until input is 'acceptable'. Valid options are: • input: optional coderef, which, when invoked, returns the user's response; default is to read from STDIN. • output: optional coderef, which, when invoked (with two arguments: the prompt and the choices/default), should prompt the user; default is to write to STDOUT. • valid: an optional coderef which any input is passed into and which must return true in order for the program to continue • default: may be any string; must pass the 'valid' coderef (if given) • choices: what to display after the prompt; default is either the 'default' parameter or nothing • no_valid_default: do not test the 'default' parameter against the 'valid' coderef • invalid_default_error: error message to throw when the 'default' parameter is not valid (does not pass the 'valid' coderef) prompt_yn my $bool = prompt_yn($prompt, \%opt); This prompts the user for a yes or no response and won't give up until it gets one. It returns true for yes and false for no. Valid options are: default: may be yes or no, indicating how to interpret an empty response; if empty, require an explicit answer; defaults to empty prompt_any_key($prompt) my $input = prompt_any_key($prompt); This routine prompts the user to "press any key to continue." ($prompt, if supplied, is the text to prompt with.
SEE ALSO
App::Cmd
AUTHOR
Ricardo Signes <rjbs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2004 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.