The slashes are similar to a reg-ex expression on $_ in your example. So basically it checks the line to see if that exists and does something. In your case, for the ip to work, all you would have to do is remove your quotes so the line matches, since the file doesnt have quotes around the ip address.
So, your line:


next if /NAS-IP-Address = "192.168.0.1"/;

change to

next if /NAS-IP-Address = 192.168.0.1/;

and it will skip to the next line if that line ever comes up.

--
-------------------------------
Just Your Friendly Neighborhood
_SPIDEY_


Greg Schiedler wrote:


OK I'm trying to modify the code below to recognize an additional next if statement.  
I have
included a snip of the file that the code uses an input.

Greg

next if /Acct-Session-Id = "00000000"/; This statment works!

# I added this statement.  I don't understand the /'s in the statement.  And my guess 
is that
I need to modify the statement to properly work with an IP over a number or string.

next if /NAS-IP-Address = "192.168.0.1"/; This statement does not work.

next if /User-Name = "$userskp"/; This statement works!

Can anyone tell me why my simple addition will not work as I think it should.

Greg :-)


<Code Snipit> ... ... require 'usrmon.cf';

if (-M "$file" < .04) {

$date= (localtime)[3];

dbmopen(%hash, "$dbfile", 0600);

 open (FILE, "$file") || die;
 open (FILEBK, ">>$filebk") || die;
 while (<FILE>) {
   $/ = '';
   next if /Acct-Session-Id = "00000000"/;
   next if /NAS-IP-Address = "192.168.0.1"/;
   next if /User-Name = "$userskp"/;
   print FILEBK;

   if (/Acct-Status-Type = Stop/ || /Acct-Status-Type = Start/) {
     if (/User-Name = "([^"]+)"/){
       $key= $1;
     }
     if (/Acct-Status-Type = Stop/) {
       if (/Acct-Session-Time = (\d+)/) {
         $used{$key}+= $1;
         $uses{$key}++;
       }
     }
   }
 }
 close(FILE);
 open (FILE, ">$file");
 print FILE "\n";



<RADIUS Log Snip>
...
...     Ascend-PreSession-Time = 27
       CVX-Modem-Begin-Modulation = "V.90"
       CVX-Modem-Error-Correction = "V.42"
       CVX-Modem-Data-Compression = "V.42bis"
       Timestamp = 1075939364
       Timestamp = 1075939362

Wed Feb  4 16:03:11 2004
       Acct-Status-Type = Start
       User-Name = "[EMAIL PROTECTED]"
       Acct-Session-Id = "0000062A"
       Framed-IP-Address = 10.0.0.2
       NAS-IP-Address = 192.168.0.1
       Timestamp = 1075939456
       Acct-Delay-Time = 0
       Timestamp = 1075939391

Wed Feb  4 16:04:00 2004
       Acct-Status-Type = Stop
       User-Name = "[EMAIL PROTECTED]"
       Acct-Session-Id = "0000062A"
       Acct-Session-Time = 49
       Framed-IP-Address = 10.0.0.2
       NAS-IP-Address = 192.168.0.1
       Timestamp = 1075939505
       Acct-Delay-Time = 0
       Timestamp = 1075939440

Wed Feb  4 16:04:21 2004
       Acct-Status-Type = Start
       NAS-Identifier = "cvx00.domain.com"
...
...
<End RADIUS Log Snipit>






-----------------------------------------
The information contained in this message may be privileged, confidential, and protected from disclosure. If the reader of this message is not the intended recipient, or any employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer.


Thank you. Paychex, Inc.


-- 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