App-ConMenu

 view release on metacpan or  search on metacpan

scripts/m.pl  view on Meta::CPAN

#!/usr/bin/perl
# A simple menu script
# 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.

use strict;
use warnings;
use 5.10.0;
use File::HomeDir;
use File::Spec;
use Carp qw (croak);
use lib './lib/';
use App::ConMenu;
my $menu = App::ConMenu->new();
my $homeDir = File::HomeDir->my_home;
my $filePrefix = '.'; #.filename for unix type systems
if ($^O eq 'MSWin32') {
    $filePrefix = '_'; # _filename for windows.
}
my $fullFileName = File::Spec->catfile($homeDir, $filePrefix.'con_menu.yml') ;

#offer to create a default file
if (! -e $fullFileName ) {
   say 'The Yaml menu file does not exist in your home dir. ';
   say 'Would you like me to create it ? (Y/N)';
   my $selection = <>;
   chomp($selection);
   if (uc($selection) eq 'Y' ) {
       $menu->createDefaultFile($fullFileName);
       say ' File created at '.$fullFileName.' edit to add your entries';
   }
   exit;
}
$menu->{fileName} = $fullFileName;
$menu->loadMenuFile();
$menu->printMenu();
$menu->waitForInput();



( run in 0.979 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )