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.