NAME
EB::Shell::DeLuxe - A generic class to build line-oriented command interpreters.
SYNOPSIS
package My::Shell;
use base qw(EB::Shell::DeLuxe);
sub do_greeting {
return "Hello!"
}
DESCRIPTION
EB::Shell::DeLuxe is a base class designed for building command line programs. It inherits from EB::Shell::Base.
Features
EB::Shell::DeLuxe extends EB::Shell::Base with the following features:
- Reading commands from files
-
This implements batch processing in the style of "sh < commands.sh".
All commands are read from the standard input, and processing terminates after the last command has been read.
Commands read this way can be backslash-continued.
- Single command execution
-
This implements command execution in the style of "sh -c 'command'".
One single command is executed.
METHODS
- new
-
The constructor is called
new
.new
should be called with a reference to a hash of name => value parameters:my $opts = { OPTION_1 => $one, OPTION_2 => $two }; my $shell = EB::Shell::DeLuxe->new($opts);
EB::Shell::DeLuxe extends the options of EB::Shell::Base with:
- interactive
-
Controls whether this instance is interactive, i.e, uses ReadLine to read commands.
Defaults to true unless the standard input is not a terminal.
- command
-
Controls whether this instance executes a single command, that is contained in @ARGV;
@ARGV = ( "exec", "this", "command" ); my $opts = { command => 1 }; my $shell = EB::Shell::DeLuxe->new($opts); $shell->run;
- prompt
-
The prompt for commands.
- echo
-
If true, commands read from the standard input are echoed with the value of this option as a prefix. Valid for non-interactive use only.
AUTHOR
Johan Vromans <jvromans@squirrel.nl<gt>
COPYRIGHT
Copyright (C) 2005,2006 Squirrel Consultancy. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 263:
You forgot a '=back' before '=head1'