Atentar

Atexit es un módulo PERL que puede realizar el procesamiento de salida para un programa u objeto.
Descargar ahora

Atentar Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Andrew Langmead, Brad Appleton and Michael A. Chase
  • Sitio web del editor:
  • http://search.cpan.org/~bradapp/AtExit-2.01/AtExit.pm

Atentar Etiquetas


Atentar Descripción

Atexit es un módulo PERL que puede realizar el procesamiento de salida para un programa u objeto. Atexit es un módulo Perl que puede realizar el procesamiento de salida para un programa u objeto. Sessynopsis Use Aexit; Sub Limpieza {my @args = @_; Imprimir "Limpieza () Ejecutando: args = @argsn"; } ## Registrar subrutinas para que se llamen cuando este programa salga de $ _ = Atexit (limpieza ", esta llamada fue registrada primero"); Imprimir "Primera llamada a atexit () devolvió $ _n"; $ _ = Atexit ("Cleanup", "Esta llamada fue registrada en segundo"); Imprimir "Segunda llamada a atexit () devuelto $ _n"; $ _ = Atexit ("CLEANUP", "Esta llamada debería haber sido registrada por Rmexit"); rmexit ($ _) o advierte "¿No podría" no haber registrado la salida-SUB $ _! "; if (@argv == 0) {## Registrar las subrutinas que se llamarán cuando este alcance léxico se sale de MIS $ SCOPE1 = ATEXIT-> NUEVO (Limpieza, "Alcance 1, devolución de llamada 1"); {## Haz lo mismo para este alcance anidado My $ scope2 = atexit-> nuevo; $ _ = $ SCOPE2-> Atexit (limpieza, "Alcance 2, devolución de llamada 1"); $ scope1-> atexit (limpieza, "alcance 1, devolución de llamada 2"); $ scope2-> atexit (limpieza, "alcance 2, devolución de llamada 2"); $ scope2-> rmexit ($ _) o advierte "¡No se pudo no registrar la salida-sub $ _!"; imprimir "*** dejando el alcance 2 *** n"; } Imprimir "*** Scope terminado 2 *** n"; Imprimir "*** dejando el alcance 1 *** n"; } Imprimir "*** Scope terminado 1 *** N" if (@argv == 0); End {imprimir "*** Ahora realizando el procesamiento de salida del programa *** n"; } El módulo ATEXIT proporciona un procesamiento de salida de estilo ANSI-C modelado después de la función ATEXIT en la Biblioteca N estándar (consulte Aexit (3C)). Se pueden registrar varias rutinas de procesamiento de salida llamando Atexit y pasándola la subrutina deseada junto con los argumentos deseados. Luego, en el tiempo de salida del programa, las subrutinas registradas con AIXIT se invocan con sus argumentos dados en el orden inverso de registro (se invoca primero el último registrado). El registro de la misma subrutina más de una vez, hará que la subrutina se invoque una vez para cada registro. Se puede crear un objeto atexit en cualquier alcance. Cuando se invoca como una función, Atexit registra las devoluciones de llamada que se ejecutarán en el tiempo de salida del programa. ¡Pero cuando se invoca como un método de objeto (usando la sintaxis de Method_Name de $ $ OBJETE-> METHICH_NAME), ¡Las devoluciones de llamadas registradas con un objeto Aexit se ejecutan en el momento de la destrucción de objetos! Las reglas para la ejecución de la ejecución de las subrutinas registradas son las mismas para los objetos durante la destrucción de objetos, en cuanto al programa durante la terminación del programa. La función atexit / método debe pasar un nombre o referencia de subrutina, opcionalmente seguido de la lista de argumentos con el que invocarlo en el programa de salida del programa / objeto. Las referencias anónimas de subrutina pasaron a Aexit Actuar como "cierres" (que se describen en Perlref). Si se especifica un nombre de subrutina (a diferencia de una referencia de subrutina), a menos que el nombre de subrutina tenga un prefijo de paquete explícito, se supone que es el nombre de una subrutina en el paquete actual de la persona que llama. Se obtiene una referencia a la subrutina especificada, y, si se especificaron los argumentos de invocación, se "envuelve" en un cierre que invoca la subrutina con los argumentos especificados. La referencia de subrutina resultante se agrega al frente de la lista de subrutinas de manejo de salida para el programa (Atexit) o ​​el objeto ATEXIT ($ exitobject-> atexit) y la referencia se devuelve a la persona que llama (en caso de que pueda desear para no registrarlo más tarde usando rmeexit. Si la subrutina dada no se pudo registrar, entonces se devuelve el valor cero. La función / método RMEXIT se debe pasar una o más referencias de subrutina, cada una de las cuales fue devuelta una llamada previa para atexit. Cada argumento dado, Rmexit buscará en la lista de subrutinas de manejo de salida para el programa (RMEXIT) o el objeto ATEXIT ($ exitOxbject-> rmexit) y eliminar la primera entrada correspondiente de la lista. Si no se dan argumentos, entonces todos ¡El programa u objetos de salida: los manejadores no están registrados! El valor devuelto será el número de subrutinas que se destruyeron con éxito. Tiempo de destrucción de objetos, la subrutina destruya {} en el módulo Atexit iterta sobre las referencias de subrutina en el ATEX Objeto e invoca a cada uno a su vez (cada subrutina se retira de la parte frontal de la cola inmediatamente antes de invocarla). En el tiempo de salida de programa, el bloque de extremo {} en el módulo ATEXIT isa a través de las subrutinas en la matriz devuelta por el método de exit_subs e invoca a cada uno a su vez (cada subrutina se retira de la parte frontal de la cola inmediatamente antes de que se invoca) . Tenga en cuenta que en ambos casos (Salida de programas y destrucción de objetos), las subrutinas en esta cola se invocan en el primer orden al último (el orden inverso en el que se registraron con atexit). Requisitos: · Perl


Atentar Software relacionado

ftp4che

FTP4CHE es una biblioteca FTP para Java 1.4 y 5.0 que presenta soporte para SSL implícito. ...

354

Descargar

Escalar :: Propiedades

SCALAR SCALAR :: Properties es un paquete de módulos PERL que contiene propiedades de tiempo de ejecución en las variables escalares. ...

194

Descargar