Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/06/2010, 04:10
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 10 meses
Puntos: 20
Respuesta: No terminar hasta que no se elija una opción valida

Cita:
Iniciado por jferrero Ver Mensaje
En el foro de Perl en Español hemos tratado ese tema, alguna vez.

Por ejemplo, Menú por consola.

Pero depende del tipo de terminal que vayas a usar.
Uhm... no me funcionó

Código PERL:
Ver original
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5. use diagnostics;
  6. use Term::Menu;
  7.  
  8. my $var  = 0;
  9. my $sede = 0;
  10. my $prompt = Term::Menu->new(
  11.     beforetext      => 'Por favor, elija una de las siguientes opciones:',
  12.     aftertext       => 'Introduzca la sede por favor  ',
  13.     nooptiontext    => 'No seleccionaste ninguna opcion',
  14.     toomanytries    => 'Inicia el programa nuevamente y pulse alguna tecla por favor ',
  15. );
  16.  
  17. my $answer = $prompt->menu(
  18.     resguardo     => ["resguardo",                1 ],
  19.     sqlaltas      => ["sqlaltas",                 2 ],
  20.     sqlcronograma => ["sqlcronogramas",           3 ],
  21.     Ayuda         => ["Ayuda sobre el  Programa", 4 ],
  22.     Salir         => ["Salir del Programa",       5 ],
  23. );
  24.  
  25. print "\n";
  26. print "$answer \n";
  27.  
  28. if ($answer eq 'resguardo') {
  29.     print "Has elegido sede resguardo ";
  30. }
  31. elsif ($answer eq 'sqlaltas') {
  32.     print "Has elegido sede sqlaltas ";
  33.     }

Error que devuelve


Can't locate Term/Menu.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at ./test.pl line 6.
BEGIN failed--compilation aborted at ./test.pl line 6 (#1)
(F) You said to do (or require, or use) a file that couldn't be
found. Perl looks for the file in all the locations mentioned in @INC,
unless the file name included the full path to the file. Perhaps you
need to set the PERL5LIB or PERL5OPT environment variable to say where
the extra library is, or maybe the script needs to add the library name
to @INC. Or maybe you just misspelled the name of the file. See
perlfunc/require and lib.

Uncaught exception from user code:
Can't locate Term/Menu.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at ./test.pl line 6.
BEGIN failed--compilation aborted at ./test.pl line 6.
at ./test.pl line 6

Gracias de antemano