It may be worth having a look at the SyslogScan package on CPAN - This package can be used to parse sendmail logs and return a wealth of information on mail usage. For example, using this package, your code could be reduced to:
use SyslogScan::DeliveryIterator;
use strict;
my $logs = [ '/var/adm/syslog/mail.log' ];
my $iterator = new SyslogScan::DeliveryIterator( syslogList => $logs )
+;
while ( my $delivery = $iterator->next() ){
print $delivery->{Sender} . " -> " .
join( ",", @{$delivery->{ReceiverList}} ), "\n";
}
This package is also discussed in the sample chapter of the excellent resource "Perl for System Administration" which can be found here.
| [reply] [d/l] |