Facebookfacebook Twitter Emailmail Imprimirprint
Martes 19 de marzo de 2024
Santoral:
José
Otros:
Semana:
12
Día año:
79/366 (22%)
U.F.:
Sin información
IPC:
Sin información
Dolar:
Sin información
Euro:
Sin información
Bitcoin:
U$ {bitcoin}
mindicador.cl

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