Regex advice

[email protected] (Steve Bertrand)
Newsgroups perl.beginners
Message-ID <[email protected]>
Hi everybody,

I am far from a regex guru, so I know that I can get advice on how to 
learn to improve my regex knowledge so I can better my currently working 
code to protect against failure in the future. I would appreciate some 
criticism, with explanations as to the changes if possible.

I've made it as brief as possible, with hopefully enough context (sorry 
if it wraps):


while (<LOG>) {

if (/.*simscan~\[\d+\]~([\w|\s]+).*?~(\d+\.\d+)s~.*?~(.*?)~(.*?)~(.*)/) {

                 $result   = $1 if $1;
                 $scantime = $2 if $2;
                 $ip       = $3 if $3;
                 $from     = $4 if $4;
                 $to       = $5 if $5;


__DATA__

# each block is one line

@40000000484550de1062bd84 simscan~[19462]~CLEAN 
(-4.90/12.00)~7.1809s~Re_ Querstions about COGENT and their 
services...~2001:48a8:6880:95::[email protected][email protected]

@40000000484429a236a97a14 simscan~[73347]~SPAM REJECT 
(22.10/12.00)~9.0560s~RE_ La Phaa en 
Ligne~::ffff:[email protected][email protected]

__END_DATA__

For those interested, I'm writing a simscan log file compiler, so I can 
generate long-term database backed stats that compare email traffic/spam 
that I receive on both IPv4 and IPv6 layer-3 protocols.

Thanks,

Steve
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.