On vie, sep 10, 1999 at 08:30:17 -0600, Marcelo E. Magallon wrote: > demasiado a prisa, en perl: > > [a-zA-Z]+\d{3}_\d{1,4}[xX]?\s+[0-9]+.[0-9]+\s+\S+\s+\S+\s+\S+\s+\S+
Efectívamente, depurando un poco funciona perfecto si hago: #!/usr/bin/perl -w open(FICHENT,"<$ARGV[0]") || die "Error: No puede abrirse el fichero $ARGV[0]"; while (<FICHENT>) { if (m/^\s*[a-zA-Z]?\d{1,3}?_\d{1,4}?[xX]?\s+([0-9]+.[0-9]+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/){ $dato = $1; $orden = "programa $2 $3 $4 $5"; open(RESUL,"$orden|"); while (<RESUL>) { $resultado=$_; print $dato, "\t", $resultado; } close RESUL; } } close FICHENT; Lo único que no llego a comprender es por qué si le añado '$' al final del patrón (tal como me puso Marcelo) me toma únicamente la última línea del fichero de entrada. Gracias a todos en especial a Marcelo y a Ricard cuya solución probaré porque me pica la curiosidad de php hace tiempo, muchas gracias... no sabeis del atasco que me habeis sacado. P.D1: ¿Cómo implementaría en perl el análogo a 'if(argc<NUMARGS) exit(1);' de C?. P.D2: Para no dar la lata con perl aquí ¿existe alguna lista de correo en español sobre perl?. -- Javier Viñuales Gutiérrez <[EMAIL PROTECTED]> Webs: http://www.ctv.es/USERS/vigu Personal http://www.ctv.es/USERS/vigu/linux/ ViguLinux PGP public key: http://www.ctv.es/USERS/vigu/vigu.pubkey