Jueves 21 de noviembre de 2024
Santoral:
Presentación de la Virgen
Otros:
Día Mundial de la Televisión
Semana:
47
Día año:
326/366 (89%)
U.F.:
Sin información
IPC:
Sin información
Dolar:
Sin información
Euro:
Sin información
Bitcoin:
U$ {bitcoin}
Bloques especiales BEGIN y END
Una forma simple de preparar y dar un término limpio a nuestro programa
Introducción
En muchas ocaciones debemos procurar ejecutar ciertas tareas antes de ejecutar nuestro código PERL, como incluir ciertos directorios para librerías, o a su término, como cerrar conexiones y/o archivos abiertos.
Descripción
Nuestro interprete PERL provee de dos bloques que se ejecutan inmediatamente antes de ejecutar e inmediatamente despues:
- BEGIN { }
- Se ejecuta apenas es completada su compilación, y antes de completar la compilación del script PERL en su totalidad. Puede ser especificado múltiples veces, donde se ejeutarán en el orden en que aparecen.
- END { }
- Se ejecuta inmediatamente antes de dar término al script, puede ser especificado múltiples veces, en cuyo caso son ejecutados en el órden inverso al que son declarados. El valor dado por
exit()
puede ser obtenido y modificado por medio de la variable $?.
Los bloques pueden se declarados opcionalmente como subrutina, de la forma sub END {...}
Ejemplos de Uso
Incluir Librerias
Dado que el bloque BEGIN se ejecuta antes de la complilación del resto del código, podemos incluir directorios para la búsqueda de librerías requeridas por use
#!/usr/bin/perl
BEGIN { push @INC, '../lib'; }
use Mylib ;
...
Limpiar al salir
Con END nos podemos asegurar de cerrar de forma limpia las conexiones y limpiar archivos de lock:
#!/usr/bin/perl
...
END {
print STRDERR "Salida con codigo de retorno $?\n" ;
$remoteSession->logout() if defined($remoteSession) ;
unlink $pidfile if ( defined($pidfile) ) ;
}
Escrito por: Luis Hernán de la Barra, 18/06/2015
Si tiene interés por alguno de éstos servicios u otro similar, por favor llene el
formulario de contacto
Generado por Sistema y almacenado en cache
Wyzer Luis Hernán de la Barra |
|
Teléfono: | +56995451689 |
WhatsApp: | +56995451689 |
E-Mail: | info@wyzer.cl |
Web: | www.wyzer.cl |