Term::ANSIMenu 0.02 review

Download
by rbytes.net on

Term::ANSIMenu is an infrastructure for creating menus in ANSI capable terminals. SYNOPSIS use Term::ANSIMenu; my $menu =

License: Perl Artistic License
File size: 19K
Developer: J.A. de Vries
0 stars award from rbytes.net

Term::ANSIMenu is an infrastructure for creating menus in ANSI capable terminals.

SYNOPSIS

use Term::ANSIMenu;
my $menu = Term::ANSIMenu->new(
width => 40,
help => [['', &standard_help],
['hint 1', &help_item],
[ undef, &standard_help],
['hint 3', undef]
],
title => 'title',
items => [['1', 'First menu item', &exec_item],
['2', 'This string is just too long
to fit in a normal terminal
and thus it will be clipped.'],
['3', '', sub { system "man man" }]
],
status => 'status',
prompt => 'prompt: ');

$menu->print_menu();
while (my $key = $menu->read_key()) {
last unless defined $menu->do_key($key);
$menu->update_status('') if $key eq 'S';
$menu->update_status('New status') if $key eq 's';
$menu->update_prompt('') if $key eq 'P';
$menu->update_prompt('New prompt: ') if $key eq 'p';
}
$menu->pos($menu->line_after_menu() + 1, 1);

I wrote this mainly to make live easy on those staff members to whom I delegate tasks. Most of them prefer to use a menu instead of having to type complicated commands. To them it's a faster and safer way of working (we all know about typos don't we...).

By using this module you can create menus with only a few lines of code and still have a shipload of features. Need context-sensitive help or a statusbar? Like to use hotkeys? Want flashy colors and styles? It's all there. Just fill in the attributes and you're good to go.

Requirements:
Perl

Term::ANSIMenu 0.02 keywords