• Publicidad

Cerrar o salir de script desde cualquier punto del programa

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cerrar o salir de script desde cualquier punto del programa

Notapor scout » 2009-11-22 07:44 @364

Gente: dentro de los varios menús que tengo en un script de consola asigné un número para salir del programa... ¿Con qué sentencia saldría del programa? Probé con exit(); pero no funciona si estoy en el primer menú aunque desde el segundo menú sí funciona.
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Publicidad

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor explorer » 2009-11-22 10:30 @479

La primera vez que oigo que con exit() no se termina un programa...

Sería interesante ver ese código... porque hasta que no lo vea, no me lo creeré. :)

¿Seguro que el programa intenta ejecutar el exit() y no sale?
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor scout » 2009-11-22 11:15 @510

Me la estoy liando, creo... estoy probando las cosas por separado y me funcionan...

Y sí sale porque termina el programa, supongo... necesito un reset...

Bueno,

vamos al código...

Si tengo esto... ¿cómo saldría del menú... y del programa presionando 13?

Aclaro que esto de hacerlo en consola es un lío... pero resistiré a ello.. jajaja.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $prompt = Term::Menu->new(
    beforetext      => 'Por favor, elija una de las siguientes opciones: ',
    aftertext       => 'Introduzca la sede porfavor  ',
    nooptiontext    => 'No seleccionaste ninguna opcion ',
    toomanytries    => 'Inicia el programa nuevamente y Pulse alguna tecla porfavor ',
);

my $answer = $prompt->menu(        
        informes =>   ["informes", '1'],
        Ayuda    =>   ["Ayuda sobre el  Programa", '12'],
        Salir    =>   ["Salir del Programa", '13'],
);

#fin de menú inicial
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2009-11-22 11:24 @517, editado 1 vez en total
Razón: Ortografía, bloques de código, corrección del código
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor explorer » 2009-11-22 11:26 @518

Pues creo que es tan sencillo como hacer un exit() cuando la respuesta sea igual a 13... ¿no?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor scout » 2009-11-22 12:18 @554

¿Sí?
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor scout » 2009-11-22 12:29 @562

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $prompt = Term::Menu->new(
  2.     beforetext      => 'Por favor, elija una de las siguientes opciones: ',
  3.     aftertext       => 'Introduzca la sede porfavor  ',
  4.     nooptiontext    => 'No seleccionaste ninguna opcion ',
  5.     toomanytries    => 'Inicia el programa nuevamente y Pulse alguna tecla porfavor ',
  6. );
  7.  
  8. my $answer = $prompt->menu(        
  9.         informes =>   ["informes", '1'],
  10.         Ayuda    =>   ["Ayuda sobre el  Programa", '12'],
  11.         Salir    =>   ["Salir del Programa", '13'],
  12. );
  13.  
  14. #fin de menú inicial
  15.  
  16. if ( $answer eq 'Salir del Programa' )
  17. {
  18. print "¡Estamos fuera de rango!\n";
  19. exit();
  20.  
  21. }
  22.  
  23. else
  24. {
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Segundo menú...

Acá es donde no hace caso y sigue...
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor explorer » 2009-11-22 12:39 @569

El manual dice:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
As you see, you give a hash to ->menu, where the key is the string you will get back, and the value is an arrayref, where the first value is the label, and all other values are the possible keys.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

que quiere decir
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Como puedes ver, le pasas un hash a ->menu, donde la clave es la cadena que recibirás, y el valor es una referencia a un arreglo, donde el primer valor es la etiqueta y el resto de valores las posibles claves de entrada.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Entonces...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. if ( $answer eq 'Salir' )
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor scout » 2009-11-22 13:05 @587

Increíble... funcionó con esa corrección.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
# opción salida
if ( $listado eq 'Salir' ) {
        print "¡Estamos fuera de rango!\n";
        exit();
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Perl 9 scout 0... ckuac

Explorer siempre de 10... Gracias
Última edición por explorer el 2009-11-22 13:21 @598, editado 1 vez en total
Razón: Ortografía, bloques de código, indentación del código
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor explorer » 2009-11-22 13:24 @600

Y eso que ya te lo dije... :)
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cerrar o salir de script desde cualquier punto del programa

Notapor scout » 2009-11-22 15:21 @681

Sí, es verdad... poco a poco voy aprendiendo este mundo... que pinta tan bien...
gracias por recordármelo...
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado