App-ConMenu
view release on metacpan or search on metacpan
lib/App/ConMenu.pm view on Meta::CPAN
} else {
exit;
}
my $menuItems = $self->{menuItems};
$self->execute($self->{menu}->[0]->{$menuItems->[$selection -1]})
}
# create a default file to get people going.
sub createDefaultFile{
my $self = shift;
my $fileName = shift;
my $menu = {
'Menu option 1' => {
'commands' => [
'ls'
],
'working_dir' => './'
},
'Menu Option 2' => {
'commands' => [
'dir'
],
'working_dir' => './'
}
};
my $yaml = YAML::Tiny->new($menu);
$yaml->write($fileName);
}
1;
__END__
=encoding utf-8
=head1 NAME
App::ConMenu - Very simple Menu For Console commands Platform Agnostic
=head1 SYNOPSIS
use App::ConMenu;
my $menu = App::ConMenu->new();
$menu->{fileName} = '.~/menu.yml';
$menu->loadMenuFile();
$menu->printMenu();
$menu->waitForInput();
1;
=head1 DESCRIPTION
App::ConMenu is a very simple console menu application it allows you to display a menu of
choices then select one of those by pressing the corresponding number. This will cause ComMenu
to execute the associated commands in the menu.yml file.
The C<m.pl> in the scripts dir is a script that creates a menu by using the module. By default
the script uses ~/.con_menu.yml on unix type systems and <HOMEDIR>\_con_menu.yml on Windows type systems. If
the files do not exist then you will be prompted to create an example version.
=head1 LICENSE
Copyright (C) Michael Mueller.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=head1 AUTHOR
Michael Mueller E<lt>michael@muellers.net.auE<gt>
=cut
( run in 0.988 second using v1.01-cache-2.11-cpan-6aa56a78535 )