¿¿¿Ejecutar un perl dentro de otro perl??? ¡¡¡Qué feo!!!
Es mejor que hagas la operación de: abrir fichero origen en lectura, abrir el fichero destino en escritura, hacer un bucle por las líneas, y las que cumplan con la condición, sacarlas hacia el fichero destino. Cierras los ficheros, y listo.
O si no... no usar Perl:
Using bash Syntax Highlighting
#!/bin/bash
#02-01-2012
#LOG ALERTAS
perl -ne 'print if /CRITICAL/ or /DOWN/' /root/LOG_alertas > alert
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
También puedes usar grep() (no probado):
Using perl Syntax Highlighting
#!/usr/bin/perl
use autodie;
open $in, '<', '/root/LOG_alertas';
open $out, '>', 'alert';
print $out grep { /CRITICAL/ or /DOWN/ } <$in>;
close $out;
close $in;
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Y de más formas... pero no, por favor, perl dentro de perl