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 )