Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > e28667f4e1cf50e0b002c8a83e0e0d6f > files > 266

logwatch-7.3.6-2mdv2008.1.noarch.rpm


use strict;

sub hostcmp {
  my ($a,$b) = @_;

  my ($an) = ($a =~ /(\d*)$/);
  my $ap = $`;
  my ($bn) = ($b =~ /(\d*)$/);
  my $bp = $`;
  return ($ap cmp $bp) || ($an <=> $bn);
}

my $TempDir = $ENV{'LOGWATCH_TEMP_DIR'};

my ($line, $host,$tothost);
my %hostlist;
my $HostFile = ("$TempDir/hostfile");
if (-f $HostFile) {
   open (TEMPFILE,$HostFile);
   foreach (<TEMPFILE>) {
      chomp;
      $hostlist{$_} = 1;
   }
   close (TEMPFILE);
}

while (defined($line = <STDIN>)) {
   if ($line =~ m/^... .. ..:..:.. (\S*)/io) {
      $host = $1;
      $hostlist{$host} = 1 unless defined $hostlist{$host};
   }
}

open (TEMPFILE,">$HostFile") || die $!;
foreach $tothost (sort {&hostcmp($a,$b)} keys %hostlist) {
   chomp $tothost;
   if (length($tothost) == "0") {
   } else {
      print TEMPFILE "$tothost\n";
   }
}
close TEMPFILE;

# vi: shiftwidth=3 syntax=perl tabstop=3 et