Ver Mensaje Individual
  #10 (permalink)  
Antiguo 02/07/2010, 02:17
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

Buenas,

Una pregunta mas sobre el menú, sabéis si existe la posibilidad de colorear la opción del menu? linea 15


Código PERL:
Ver original
  1. 1 #!/usr/bin/perl
  2.   2
  3.   3 use strict;
  4.   4 use warnings;
  5.   5 use diagnostics;
  6.   6 use Term::Menu;
  7.   7
  8.   8 my $answer = 0;
  9.   9
  10.  10     my $prompt = Term::Menu->new(
  11.  11         beforetext      => '',
  12.  12         aftertext       => 'Introduce una opcion por favor --> ',
  13.  13         nooptiontext    => '',
  14.  14         toomanytries    => "\nSeleccionaste una opcion no valida",
  15.  15         toomanytries    => colored("\nSeleccionaste una opcion no valida", 'bold red'),
  16.  16     );
  17.  17 do {
  18.  18
  19.  19     $answer = $prompt->menu(
  20.  20         resguardo     => ["resguardo",                1 ],
  21.  21         sqlaltas      => ["sqlaltas",                 2 ],
  22.  22         sqlcronograma => ["sqlcronogramas",           3 ],
  23.  23         Ayuda         => ["Ayuda sobre el  Programa", 4 ],
  24.  24         Salir         => ["Salir del Programa",       5 ],
  25.  25     );
  26.  26 } until ($answer);
  27.  27
  28.  28 print "\n";
  29.  29 print "$answer \n";
  30.  30
  31.  31 if ($answer eq 'resguardo') {
  32.  32     print "Has elegido sede resguardo ";
  33.  33 }
  34.  34 elsif ($answer eq 'sqlaltas') {
  35.  35     print "Has elegido sede sqlaltas ";
  36.  36     }


Lo probé con
toomanytries => colored("\nSeleccionaste una opcion no valida", 'bold red'),

Pero me arroja un error, imagino que no está permitido hacerlo así...

Undefined subroutine &main::colored called at ./test.pl line 10 (#1)
(F) The subroutine indicated hasn't been defined, or if it was, it has
since been undefined.

Uncaught exception from user code:
Undefined subroutine &main::colored called at ./test.pl line 10.
at ./test.pl line 10


Muchas gracias de antemano!