06-30-2004
Thanks!
Again - it could be the parsing logic. I still am trying to figure out /understand Perl itself. Here is some code. Maybe I will break it up and give you a little at a time.
my $date = $ARGV[0];
shift @ARGV;
my $errfile = "/radius/stats/errors.$date";
my $logfile = "/radius/log/local4.$date";
my $msgfile = "/radius/stats/log_msg.$date";
my $statsfile = "/radius/stats/stats.$date";
my $regfile = "/radius/stats/regid.$date";
my $ldapfile = "/radius/stats/ldap.$date";
my ( $host, $ip, $key, $nas, $reject, $server, $service, $user );
my ( %err, %nas, %regid, %stats );
$regid{'legacy'}{'accepts'}{'west'} = 0;
$regid{'legacy'}{'accepts'}{'central'} = 0;
$regid{'legacy'}{'accepts'}{'north'} = 0;
$regid{'legacy'}{'accepts'}{'northeast'} = 0;
$regid{'legacy'}{'rejects'}{'west'} = 0;
$regid{'legacy'}{'rejects'}{'central'} = 0;
$regid{'legacy'}{'rejects'}{'north'} = 0;
$regid{'legacy'}{'rejects'}{'northeast'} = 0;
#open LOG, "<$logfile" or die "$! : Unable to open $logfile for reading...\n";
open MSG, ">$msgfile" or die "Unable to open $msgfile for writing...\n";
while (defined($_ = <>)) {
if (/^\S+\s+\S+\s+\S+ (\S+?)\.\S+ .+ Protocol: Request from (\S+?) .+$/) {
$host = $1;
$nas = $2;
if ($nas =~ /^bras|^rback|^sms/) {
$service = 'adsl';
}
else {
$service = 'dial';
}
$nas{$service}{$nas}++;
if (/User (\S+) accepted $/) {
$stats{$host}{$service}{'attempts'}++;
$stats{$host}{$service}{'accepts'}++;
$user = $1;
if ($user =~ /^sbcyahooreg\@sbcglobal\.net$/i) {
if ($host =~ /anhmca|irvnca|lsanca|pltnca|snfcca|sntcca/) {
$regid{'sbcy'}{'accepts'}{'west'}++;
}
elsif ($host =~ /hstntx|kscymo|rcsntx/) {
$regid{'sbcy'}{'accepts'}{'central'}++;
}
elsif ($host =~ /chcgil|ipltin|klmzmi|milwwi|sfldmi|wotnoh/) {
$regid{'sbcy'}{'accepts'}{'north'}++;
}
elsif ($host =~ /mrdnct/) {
$regid{'sbcy'}{'accepts'}{'northeast'}++;
}
else {
$regid{'sbcy'}{'accepts'}{'unknown'}++;
}
} elsif ($user =~ /^dslreguser\@\S+$|^dslreguser$/i) {
if ($host =~ /anhmca|irvnca|lsanca|pltnca|snfcca|sntcca/) {
$regid{'legacy'}{'accepts'}{'west'}++;
}
elsif ($host =~ /hstntx|kscymo|rcsntx/) {
$regid{'legacy'}{'accepts'}{'central'}++;
}
elsif ($host =~ /chcgil|ipltin|klmzmi|milwwi|sfldmi|wotnoh/) {
$regid{'legacy'}{'accepts'}{'north'}++;
}
elsif ($host =~ /mrdnct/) {
$regid{'legacy'}{'accepts'}{'northeast'}++;
}
else {
$regid{'legacy'}{'accepts'}{'unknown'}++;
}
}
}
Do you see anything that may cause my problem ?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Where can i find solid information about programming in Perl?
Thank you in advance!!!:) (5 Replies)
Discussion started by: SolidSnake
5 Replies
2. Shell Programming and Scripting
When i run my perl/tk script, a perl window pops up behind the GUI window,, can this be hidden????
Also, can the Icon be changed, the Tk icon in every window??? (1 Reply)
Discussion started by: perleo
1 Replies
3. Shell Programming and Scripting
If I use 2 system commands in a script, will one finish before the next one starts? or will it start the first and the second at the same time?
i.e.
system("ps | grep rminer");
system("ls -al | grep 431"); (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies
4. Shell Programming and Scripting
Hello,
pkzipc of a certain zip file yeilds the following in shell
PKZIP(R) Version 6.0 FAST! Compression Utility for AIX
Copyright 1989-2002 PKWARE Inc. All Rights Reserved. Registered Version
PKZIP Reg. U.S. Pat. and Tm. Off. Patent No. 5,051,745
Viewing .ZIP: test.zip
Length... (13 Replies)
Discussion started by: jerardfjay
13 Replies
5. Shell Programming and Scripting
I copy and paste from the book but this thing is not working.
I cannot figure out what is wrong with myline 9.. can someone please tell me
# cat ./sort4.pl
#!/usr/bin/perl -w
use strict;
use warnings;
my $input = shift;
my $output = shift;
open(IN, '<', $input) or die... (4 Replies)
Discussion started by: hankooknara
4 Replies
6. Shell Programming and Scripting
Below program, I do not get why item I am looking for is , instead of .
When I do $#text, i get the right value for $value1, but when I do , i get somsething4, instead of
somsethingxxxxxxxxxxxxxxxxxxx(which is what I am looking for.
when I do , I get empty.. why? what did I do wrong? can you... (2 Replies)
Discussion started by: hankooknara
2 Replies
7. Shell Programming and Scripting
I fail to see how below answer is 1? can someone explain this for me?
DB<3> $string = "The cat sat on the mat";
DB<4> $animal = ($string =~ m/The (.*) sat/);
DB<5> print $animal;
1 (2 Replies)
Discussion started by: hankooknara
2 Replies
8. Shell Programming and Scripting
I have a question regarding bulding a hash from a file which has below pattern
I thought I could write something like this but clearly my syntax is way off
$/ = "\n\n";
$" = "\n";
open(FILE, file1) || die;
my %keymaster = ( );
while (<FILE>) {
my $topinfo =~... (5 Replies)
Discussion started by: hankooknara
5 Replies
9. Shell Programming and Scripting
I am reading a file in perl script .. during the debug the $linein value is :
linein : +ASM1,sys,||¬ |3Æqúoü;”ט||
from this line I am getting the tmepuser and password from above :
($tmpuser, $pwd) = ($linein =~ /^$server\s*,\s*(+)\s*,\|\|(.+)\|\|/sm);
I am getting $tmpuser and... (2 Replies)
Discussion started by: talashil
2 Replies
10. Shell Programming and Scripting
Hello everybody, I am new at the forum and a total newbie when it comes to Unix.
I am trying to see how I can add the ability to kill a user's processes?
I want to add this to my Shel Script Add the code/process into a subroutine.
Also, I would like to use an array to store the list... (0 Replies)
Discussion started by: kinelisch
0 Replies