[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Grep en perl



Javier escribió:
Hola lista,

estoy escribiendo un programilla en perl muy simple. Coge desde STDIN
la entrada, que es un correo electrónico y muestra los campos que este
tiene. Luego, dentro del campo $body (siempre tiene un formato
específico algo: valor) necesito quedarme sólo con un campo. ¿Cómo
puedo lograrlo?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
El programa:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
my $mbox= \*STDIN;
my $mb = Mail::MboxParser->new($mbox);
for my $msg ($mb->get_messages)
{
	my $to = $msg->header->{to};
	my $from = $msg->header->{from};
	my $subject = $msg->header->{subject} || '<No Subject:>',
	my $body = $msg->body($msg->find_body,0);
	my $body_str = $body->as_string || '<No message text>';
 	print   "From: $from\n",
                  "To: $to\n",
                  "Subject: $subject\n",
                  "Message Text: $body_str\n";
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
El mail de entrada:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pages: 1
Receiver:
Quality: 196
...
GroupID: 16
CommID: c000000040

Processing time was 0:39.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
La idea es leer con el programa esta entrada y luego conseguir
quedarme en una variable con el valor "c000000040". Alguna idea de
cómo realizar ese "grep" en perl. Lo intenté, pero en perl no consigo
sacarlo.

No tengo la más pálida idea de cómo programar en Perl, pero si sé a ciencia cierta que Perl es uno de los lenguajes que mejor soporte tiene de expresiones regulares. Así que muy difícil no debe ser, solo documentarse.

Saludos


Reply to: