On vie, sep 10, 1999 at 09:09:38 -0600, Marcelo E. Magallon wrote:
>  #!/usr/bin/perl
> 
>  while (<>) {
>      if (m/^[a-zA-Z]+\d{3}_\d{1,4}[xX]?
>            \s+([0-9]+\.[0-9]+)
>            ((?:\s+\S+){4})$/x) {
>          print $1, " ", `programa $2`;
>      }
>  }

Gracias de nuevo, con gente así da gusto.
De todas formas Marcelo, 'print $1, " ", 'programa $2';' me imprime bien el
dato pero no la salida del programa pues me saca por pantalla literalmente
'programa $2', es decir _esa cadena_ y no _la salida_. Lo tuve que resolver
como ves en el a-mail posterior mio con un 'open' para que el perl esperara la
generación de la salida (tarda un poquito) ¿he hecho una tontería?, lo
pregunto porque soy novato total en perl.


>  desde la línea de comando:
> 
>  $ perl -ne \
>    'if (m/^[a-zA-Z]+\d{3}_\d{1,4}[xX]?\s+([0-9]+\.[0-9]+)((?:\s+\S+){4})$/) 
>    { print $1, " ", `programa $2`; }' < entrada > salida

¡Excelente!.

>  perl puede ser muy simple, si te interesa, un buen libro es 'Learning Perl',
>  y por supuesto 'Programming Perl'.

Pues si que me interesa, veré a ver dónde los consigo, ¿O'Really quizás?.
Saludos y gracias otra vez.
-- 
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

Responder a