Tim Wolak wrote:

I have modified the code however its still not writting to the file....
Not sure what is going on, I have tried different ideas to get it to
pint to the file but so far no go.  Does anyone have any ideas?

#!/usr/bin/perl -w

use strict;
use warnings;
my $logfile = '/var/log/messages';
my $secv = '/var/log/secv';
my $hosts = '/etc/hosts.deny';
my $cody = '/etc/hosts.txt';
my @boxes;
my $box;

open(LOG, $logfile) || die "Cannot open logfile for reading: $!";
open(SEC, '>$secv') || die "Can't open file!: $!";
open(HOST, $hosts) || die "Can't open file!: $!";
open(DENY, '>>$cody') || die "Can't open file!: $!";

        foreach (<HOST>) {
                push @boxes, $1 if /(\d+\.\d+\.\d+\.\d+)/;
                }
        close HOST or die $!;

        while (<LOG>){
           next unless /Failed password for invalid/;
           print SEC "Invalied user logon attempt!:$_\n";
                next unless /(\d+\.\d+\.\d+\.\d+)/;
                my $tim = $1;
                foreach $box (@boxes) {
                        if ($box eq /$tim/){
                          next;
                        } else {
                         print DENY "$tim\n";
                        }
                }
        }
close SEC or die $!;
close DENY or die $!;
close LOG or die $!;

I think you want:

  foreach my $box (@boxes) {

    if ($box eq $tim){
      print DENY "$tim\n";
      last;
    }
  }

HTH,

Rob

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to