foreach(qw(name to file action virus))
{
$gCurRec->{$_}='';
}
####
my @columns = qw(name to file action virus);
@{ $gCurRec }{ @columns } = ('') x @columns;
##
##
$gCurRec->{name}=$1 if (/^From:\s*(.+?)\s*$/);
$gCurRec->{to}=$1 if (/^To:\s*(.+?)\s*$/);
##
##
/^(\w+):\s*(.+?)\s*$/ and $gCurRec->{$1} = $2;
##
##
#!/usr/bin/perl -w
use strict;
my %gCurRec = ();
while() {
/^-+\s*$/ and do {
print join("\t",
map { exists $gCurRec{$_} ? $gCurRec{$_} : '' }
qw(from to file action virus)
) . "\n";
%gCurRec = ();
next;
};
/^(\w+):\s*(.+?)\s*$/ and $gCurRec{lc $1} = $2;
}
__DATA__
From: pminich@foo.com
To: esquared@foofoo.com
File: value.scr
Action: The uncleanable file is deleted.
Virus: WORM_KLEZ.H
----------------------------------
Date: 06/30/2002 00:01:21
From: mef@mememe.com
To: inet@microsoft.com
File: Nr.pif
Action: The uncleanable file is deleted.
Virus: WORM_KLEZ.H
----------------------------------