Sponsored Content
Full Discussion: PERL Question
Top Forums Shell Programming and Scripting PERL Question Post 52952 by Gary Dunn on Wednesday 30th of June 2004 11:48:38 AM
Old 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

Question about Perl

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

Perl: tk question

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

perl question

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

PERL question

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

another perl question

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

Perl question regarding [ ]

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

another perl question

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

another perl question

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

PERL Question ...

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

Perl question about

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
BATTERY-GRAPH(1)					      General Commands Manual						  BATTERY-GRAPH(1)

NAME
battery-graph - Show a graph of the battery charge SYNOPSIS
battery-graph [options] [files...] DESCRIPTION
Show a graph of the battery charge over time. The files given are assumed to contain battery statistics in the battery-stats(5) format. If no files are specified, the default log files will be used. The options can be used for displaying a different interval. An interval is defined in terms of a from timestamp, a to timestamp and a duration. By specifying any two, the third will be calculated automatically. A missing duration will be defaulted to 3 hours. OPTIONS
These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). -g geometry, --geometry geometry Sets the X Windows geometry of the graph. This disables text mode. See X(7) for how to specify the geometry. -D display, --display display Shows the graph on the given display. The same effect can be achived by setting the DISPLAY environment variable. This disables text mode. See X(7) for valid values. --title string Sets the title of the graph window. By default this will be "Battery Graph". If this is set to the empty string, gnuplot(1) will be allowed set the window title - this can be useful if you want your ~/.Xdefaults to take effect for this. -f date, --from date Specifies the start date/time for the graph. This accepts exactly the same date/time specifications as the date (1) command - see examples below or the Texinfo manual for date for details. -t date, --to date Specifies the ending date/time for the graph. This accepts exactly the same date/time specifications as the date (1) command - see examples below or the Texinfo manual for date for details. -s date, --since date Shorthand for --from date --to now -d duration, --duration duration Specifies the duration for the graph. This can be given in units of seconds, hours, days or weeks by suffixing the number with 's' (seconds), 'm' (minutes), 'h' (hours), 'd' (days) or 'w' (weeks). Units cannot be combined - e.g. '1d6h' will not be valid, whereas '30h' is OK. If no unit is specified, minutes will be assumed. --text Shows the graph in text mode on stdout. The resulting size of the graph is determined by the values of the environment variables. LINES and COLUMNS (failing that, the output from tput will be used). This is the default when the environment variable DISPLAY is not set. EXAMPLES
Show the last 2 hours: $ battery-graph --duration 2h Show the time since mid day: $ battery-graph --from 12:00 --to now or $ battery-graph --since 12:00 Show the hour before last: $ battery-graph --from '2 hours ago' --duration 1h Show the 6 hours after noon: $ battery-graph --from 12:00 --duration 6h or $ battery-graph --from 12:00 --to 18:00 Show the last 6 hours $ battery-graph --from '6 hours ago' or $ battery-graph --since '6 hours ago' Show the last 30 minutes in text mode: $ battery-graph --duration 30 --text Show statistics for Tuesday last week $ battery-graph --duration 24h --from 'tuesday last week' or $ battery-graph --duration 1d --from 'tuesday last week' Prove that the future hasn't happened yet: $ battery-graph --from yesterday --to tomorrow Another way of wasting CPU cycles: $ battery-graph /dev/null EXIT STATUS
battery-graph depends on gnuplot (1) to give the correct exit status. FILES
If no files are given on the command line, batter-graph reads from /var/log/battery-stats ENVIRONMENT
DISPLAY If this variable is not set, --text will be defaulted. LINES / COLUMNS Determines the size of the graph in text mode. DIAGNOSTICS
If there are no statistics available for the period chosen, an empty graph will result. NOTES
There is no requirement for the from time to be earlier than the to time - if so, the X axis will be reversed. Similar results can be achieved using a negative duration. Also: battery-stat is quite happy to list statistics in the future; stupid, but obedient. AUTHOR
This manual page was written by Karl E. Jorgensen <karl@jorgensen.com>, for the Debian GNU/Linux system (but may be used by others). SEE ALSO
battery-stats (5), date (1), battery-stats-collector (8) Newer versions of this program may (or may not) be available at http://karl.jorgensen.com/battery-stats September 22, 2002 BATTERY-GRAPH(1)
All times are GMT -4. The time now is 03:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy