Filtro :: simple

:: Módulo simple permite un filtrado de origen simplificado.
Descargar ahora

Filtro :: simple Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Damian Conway
  • Sitio web del editor:
  • http://search.cpan.org/~dconway/

Filtro :: simple Etiquetas


Filtro :: simple Descripción

:: módulo de filtro simple permite simplificar el filtrado de fuente. Filtro :: módulo simple permite simplificado fuente filtering.SYNOPSIS # en MyFilter.pm: myFilter paquete; Filtro utilizar :: Simple; FILTRO {...}; # O simplemente: # # usar el filtro :: sub simple {...}; # En el código del usuario: Uso myFilter; # Este código se filtra sin myFilter; # Este código es el filtrado notthe ProblemSource es una característica inmensamente poderosa de las últimas versiones de Perl. Le permite a uno para extender el propio idioma (por ejemplo, el módulo de interruptor), para simplificar el lenguaje (por ejemplo Idioma :: Pythonesque), o a una refundición total de la lengua (por ejemplo Lingua :: :: Romana Perligata). Efectivamente, esto permite utilizar toda la potencia de Perl como propia, aplicado de forma recursiva, macro language.The excelente filtro :: Util :: módulo de llamadas (por Paul Marqués) proporciona una interfaz Perl utilizable para el filtrado de la fuente, pero a menudo es demasiado poderoso y no es tan simple como podría be.To utilizar el módulo, es necesario hacer lo siguiente: descargar, compilar e instalar el filtro :: Util :: módulo de llamadas. (Si tiene Perl 5.7.1 o posterior, esto ya está hecho para usted.) Establecer un módulo que hace uso de un filtro :: Util :: Call. Dentro de ese módulo, crear una subrutina de importación. Dentro de la subrutina de importación hacer una llamada a filter_add, pasándolo bien una referencia subrutina. Dentro de la referencia de subrutinas, filter_read llamada o filter_read_exact al "primer" $ _ con los datos del código fuente del archivo de origen que va a utilizar su módulo. Compruebe el valor de estado devuelto para ver si el código fuente se leyó en realidad. Procesar el contenido de $ _ para cambiar el código fuente de la manera deseada. Devolver el valor de estado. Si el acto de unimporting su módulo (a través de un no) debería hacer que el código fuente filtrando a cesar, crear una subrutina UNIMPORT, y tienen que llamar filter_del. Asegúrese de que la llamada a filter_read o filter_read_exact en el paso 5 no leerá accidentalmente más allá de la que no. Efectivamente esta fuente límites filtros de código a la operación de línea por línea, a menos que la subrutina de importación hace alguna fantasía pre-pre-análisis del código fuente que está filtrando. Por ejemplo, aquí es un filtro de código fuente mínimo en un módulo denominado BANG.pm. Es simplemente convierte cada ocurrencia de la secuencia de Bangs + BANG a la secuencia de troquel 'BANG' si $ BANG en cualquier pieza de código después de un uso BANG; declaración (hasta la próxima ningún BANG; declaración, en su caso): BANG paquete; Filtro utilizar :: Util :: Call; sub importación {filter_add (sub {my $ persona que llama = persona que llama, mi ($ estado, $ no_seen, $ data); while ($ status = filter_read ()) {if (/ ^ s * nn + $ llamadores *;? s * $ /) {$ no_seen = 1; último;}. $ datos = $ _; $ _ = "";} $ _ = datos $; s / Bangs + BANG / die 'BANG' si $ BANG / g a menos $ status < 0; $ _ =. "no clase $; n" si $ no_seen; return 1;})} sub UNIMPORT {filter_del (); } 1; Este nivel de sofisticación pone filtrado fuera del alcance de muchos Filtro programmers.A SolutionThe :: módulo simple proporciona una interfaz simplificada de filtro :: Util :: Call; una que es suficiente para la mayoría cases.Instead común del proceso anterior, con el filtro :: simple la tarea de crear un filtro de código fuente se reduce a: descargar e instalar el módulo de filtro :: Simple. (Si tiene Perl 5.7.1 o posterior, esto ya está hecho para usted.) Establecer un módulo que hace uso de un filtro :: Simple y luego llama FILTRO {...}. Dentro de la subrutina anónima o el bloqueo que se pasa para filtrar, procesar el contenido de $ _ para cambiar el código fuente de la manera deseada. En otras palabras, el ejemplo anterior, se convertiría en: BANG empaquetar; Filtro utilizar :: Simple; FILTRO {s / Bangs + BANG / die 'BANG' si $ BANG / g; }; 1; en cuenta que el código fuente se pasa como una sola cadena, por lo que cualquier expresión regular que los usos ^ $ o para detectar los límites de línea necesitarán los m / flag.Requirements: · Requisitos de Perl: · Perl


Filtro :: simple Software relacionado