my %count=(); # A hash -it is bcos of of key/value pairs?
while (<$fh>){
if (/amavis.*(Passed|Blocked) (CLEAN|SPAM|INFECTED|BANNED)/){
++$count{$2}; # Why ++$count? why {$2} here? is it bcos of (Passed|Blocked) ?
} elsif (/amavis.*(BAD-HEADER)-/) {
++$count{$1}; # why {$1} here? is it bcos of (BAD-HEADER)
} elsif (/reject/){
++$count{'REJECTED'}; #Hmm, Why {'REJECTED'}?
}
}
####
my @data = map{ $count{$_} || 0 } qw(CLEAN SPAM INFECTED BANNED BAD-HEADER REJECTED);
Why map{ $count{$_} || 0 } ?
qw(CLEAN SPAM INFECTED BANNED BAD-HEADER REJECTED) # here you create an array for count values?
####
my $data = GD::Graph::Data->new([
["Cleaned","Spam","Virus","Banned","BadHeader","Rejected"],
[@data],
]) or die GD::Graph::Data->error;
[@data] has count values coming from line qw(CLEAN SPAM INFECTED BANNED BAD-HEADER REJECTED)