• Publicidad

Detectar Control + C en Perl

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

Detectar Control + C en Perl

Notapor BigBear » 2010-11-17 09:21 @431

Hola.

Ando teniendo una duda, porque quiero hacer un programa que detecte la cancelación
del script en MSDOS (control + C), pero no sé cómo se hace en Perl.

¿Alguien tiene alguna idea?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Detectar Control + C en Perl

Notapor explorer » 2010-11-17 11:00 @500

Puedes usar la ejecución de una subrutina cuando suceda esa interrupción (no probado):
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!perl
  2.  
  3. $SIG{INT} = \&Procesar_Interrupcion;    # subrutina a ejecutar en la interrupción
  4.  
  5. while ($linea = <>) {
  6.   print "Has escrito: $linea";
  7.   last if $linea eq 'fin';
  8. }
  9.  
  10. sub Procesar_Interrupcion {
  11.     print "Miau Miau!!!\n";                # Hacemos algo
  12.     $SIG{INT} = \&Procesar_Interrupcion;   # Reactivamos la interrupción a la misma subrutina
  13.  }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Con esto, capturas la interrupción del programa. Si solo quisieras saber si están pulsadas, puedes usar el módulo Term::ReadKey.
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


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 41 invitados