in reply to hashing out lines from mailq...
Using a regex probably does it for you. Matching the parenthasised stuff ("(Deferred: ...)") may be problematic if nested parenthesis are allowed. That aside, the following should get you started:
use warnings; use strict; my $str = 'k4J37P420342 3256 10021545 May 18 23:07 MAILER-DAEMON + (Deferred: Connection reset by somdomain.com.) <someone@somedomain.c +om>'; my ($code, $addr) = $str =~ /(\S+)(?:[^)]*)\)\s*<([^>]+)/; print "$code $addr\n" if defined $addr;
Prints:
k4J37P420342 someone@somedomain.com
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: hashing out lines from mailq...
by perlknight (Pilgrim) on May 24, 2006 at 15:04 UTC | |
by gellyfish (Monsignor) on May 24, 2006 at 15:08 UTC |