#!/usr/bin/perl -w open MAILFILE, shift; @from = map /^From:\s+(.*)$/, <MAILFILE>; map { print "$_\n" } @from;Observése el uso de map aplicando la expresión regular
/^From:\s+(.*)$/
a cada una
de las líneas del fichero de entrada. Las cadenas que se emparejan con el primer paréntesis
son devueltas para formar la lista que se almacena en @from
.
El segundo uso de map imprime cada uno de los elementos de la lista @from
.
Al ejecutarlo se produce una salida como esta:
~/perl/src> from.pl ~/mail/euromicro Mail System Internal Data <MAILER-DAEMON@nereida.deioc.ull.es> pdp03 Conference Manager <pdp03cm@iris.ima.ge.cnr.it> pdp03cm@samba.ima.ge.cnr.it "Chiquita Snippe-Marlisa" <euromicro@standby.nl> "C.Leon [TRACS]" <coromoto@epcc.ed.ac.uk> Javier Miranda <jmiranda@iuma.ulpgc.es> Javier Miranda <jmiranda@iuma.ulpgc.es>
Casiano Rodríguez León