Sponsored Content
Full Discussion: Perl Script Help
Top Forums Shell Programming and Scripting Perl Script Help Post 302294291 by namishtiwari on Thursday 5th of March 2009 01:22:22 AM
Old 03-05-2009
Hi Kevin,

The string which i mentioned earlier is in a log file.Its not a seperate string. I implemented exactly the same script in another function. When i run the other function it does not do anything.

The other function is--

Code:
sub post_evaluate_action_time
{
  my %hash;
open(my $LOG, 'C:\aokapplication') or die "$!";
LOOP1: while(<$LOG>) {
   my $user;
   my $str;
   if (/Next State: risk_did_persist$/) {
	   LOOP2: while (<$LOG>) {
		   #if (/<USERID>\s+(\S+)$/) 
           if ($str =~ /<USERID>(.*?)<\/USERID>/)
		 {
             $user = $1;
         	 #$str=~/(?:.*<USERID>)(.*)(?:<\/USERID>.*$)/;
			 #print $str;
		 	 $hash{$user} = {SessionID => '', Time => 0 };
		 }
		   else {
			     next LOOP2;
		        }

LOOP3: while (<$LOG>) {
	if (/ErrorMsg:SESSIONID :\s+(\S+)$/) {
           $hash{$user}{SessionID} = $1;
           next LOOP3;
	}
	elsif (/postEvaluate: End-to-end time in millisecond (\S+)$/) {
		$hash{$user}{Time} += $1;
               next LOOP1;
	        }
          }
	   }
   }
}

close ($LOG);
use Data::Dumper;
print Dumper \%hash;
}

#evaluate_risk_action_time();
print "The post_evaluate_time function is called here\n";
post_evaluate_action_time();

The log snippet for this is --

Code:
2009-02-09 00:01:58,970 [TP-Processor28] INFO  FlowController,(TP-Processor28:121) - Next State: risk_did_persist
2009-02-09 00:01:58,970 [TP-Processor28] DEBUG BaseRedirectController,(TP-Processor28:116) - [com.arcot.aok.web.controllers.rf.RFRiskAssessmentController]: : Next state: persistdid.htm
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG RFSyncClientDIDController,(TP-Processor28:30) - Entered com.arcot.aok.web.controllers.rf.RFSyncClientDIDController.preOnSubmit()
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG RiskFactory,(TP-Processor28:140) - The object is already created
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG RFSyncClientDIDController,(TP-Processor28:30) - Secondary Auth entry class type: java.lang.Integer
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG RiskXActionAPI,(TP-Processor28:480) - updateAttributes: XML Request [<POLICYREQ><MESSAGEID>1</MESSAGEID><CALLERID>4 - MLS - MLS: com.arcot.aok.web.controllers.rf.RFSyncClientDIDController|1:2594791</CALLERID><SESSIONID>1:2594791</SESSIONID><AUTHRESULT>UNSPECIFIED</AUTHRESULT><IDENTITY><USERID>01394498</USERID><GROUP>MLS</GROUP><SUBGROUP>SUBGROUP2</SUBGROUP></IDENTITY><LOCATION><IPADDRESS>69.107.99.223</IPADDRESS></LOCATION><DEVICEID type="http">o2S0nuXNATYDqL235Vz/foPkL+WifrsaN9QCIyKuTX1bHZi0ojKgrZBxH6qfcbRy</DEVICEID>us&quot;}}}</DEVICESIG></POLICYREQ>]
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG SocketPool,(TP-Processor28:32) - borrowSocket: Trying to get lock localCallGetConnectionFlag false callGetConnectionFlag true
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG SocketPool,(TP-Processor28:37) - borrowSocket: In if(callGetConnectionFlag)
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG SocketPool,(TP-Processor28:68) - borrowSocket: Calling borrowObject
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG PoolableSocketFactory,(TP-Processor28:195) - activateObject not supported : No action taken on Socket[addr=/172.16.64.30,port=7680,localport=4723]
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG SocketPool,(TP-Processor28:70) - borrowSocket: Out of borrowObject
2009-02-09 00:01:59,033 [TP-Processor28] DEBUG SocketPool,(TP-Processor28:78) - borrowSocket: Calling Notify
2009-02-09 00:01:59,064 [TP-Processor28] DEBUG PoolableSocketFactory,(TP-Processor28:184) - Validating Object:Socket[addr=/172.16.64.30,port=7680,localport=4723]
2009-02-09 00:01:59,064 [TP-Processor28] INFO  PoolableSocketFactory,(TP-Processor28:199) - passivateObject called on Socket[addr=/172.16.64.30,port=7680,localport=4723]
2009-02-09 00:01:59,064 [TP-Processor28] DEBUG PoolableSocketFactory,(TP-Processor28:184) - Validating Object:Socket[addr=/172.16.64.30,port=7680,localport=4723]
2009-02-09 00:01:59,064 [TP-Processor28] DEBUG RiskXActionAPI,(TP-Processor28:486) - updateAttributes: Response Packet [<POLICYSERVERDOC DATATYPE="XML"><POLICYRES><MESSAGEID>2088926475</MESSAGEID><SESSIONID>1:2594791</SESSIONID><ACTION></ACTION><RESPONSECODE>-1</RESPONSECODE><ERRORSTRING></ERRORSTRING><ERRORCODE>0</ERRORCODE><TRANSACTIONID>1:2594792</TRANSACTIONID><RISKSCORE>0</RISKSCORE><DEVICEID>o2S0nuXNATYDqL235Vz/foPkL+WifrsaN9QCIyKuTX1bHZi0ojKgrZBxH6qfcbRy</DEVICEID><RISKDETAIL></RISKDETAIL></POLICYRES></POLICYSERVERDOC>]
2009-02-09 00:01:59,064 [TP-Processor28] DEBUG ResponseMessageParser,(TP-Processor28:214) - Error code:0 ErrorMsg:TRANSACTIONID : 1:2594792
2009-02-09 00:01:59,064 [TP-Processor28] DEBUG ResponseMessageParser,(TP-Processor28:214) - Error code:0 ErrorMsg:SESSIONID : 1:2594791
2009-02-09 00:01:59,095 [TP-Processor28] DEBUG ResponseMessageParser,(TP-Processor28:259) - ArcotPacket MessageID [2]
2009-02-09 00:01:59,095 [TP-Processor28] INFO  RiskXActionAPI,(TP-Processor28:155) - postEvaluate: End-to-end time in millisecond 62

Here i need to take the userid from the xml string and rest are same. I tried some option but the function does not do anything.
Am i doing anything wrong here.

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl: Run perl script in the current process

I have a question regarding running perl in the current process. I shall demonstrate with an example. Look at this. sh-2.05b$ pwd /tmp sh-2.05b$ cat test.sh #! /bin/sh cd /etc sh-2.05b$ ./test.sh sh-2.05b$ pwd /tmp sh-2.05b$ . ./test.sh sh-2.05b$ pwd /etc sh-2.05b$ So... (10 Replies)
Discussion started by: vino
10 Replies

2. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

3. Shell Programming and Scripting

perl/unix: script in command line works but not in perl

so in unix this command works works and shows me a list of directories find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt but when i try running a perl script to run this command my $query = 'find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt';... (2 Replies)
Discussion started by: kpddong
2 Replies

4. Shell Programming and Scripting

Perl :How to print the o/p of a Perl script on console and redirecting same in log file @ same time.

How can i print the output of a perl script on a unix console and redirect the same in a log file under same directory simultaneously ? Like in Shell script, we use tee, is there anything in Perl or any other option ? (2 Replies)
Discussion started by: butterfly20
2 Replies

5. Shell Programming and Scripting

HELP on Perl array / sorting - trying to convert Korn Shell Script to Perl

Hi all, Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM. Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers. At the moment am... (3 Replies)
Discussion started by: newbie_01
3 Replies

6. Shell Programming and Scripting

calling a perl script with arguments from a parent perl script

I am trying to run a perl script which needs input arguments from a parent perl script, but doesn't seem to work. Appreciate your help in this regard. From parent.pl $input1=123; $input2=abc; I tried calling it with system("/usr/bin/perl child.pl $input1 $input2"); and `perl... (1 Reply)
Discussion started by: grajp002
1 Replies

7. Shell Programming and Scripting

executing perl script from another perl script : NOT WORKING

Hi Folks, I have 2 perl scripts and I need to execute 2nd perl script from the 1st perl script in WINDOWS. In the 1st perl script that I had, I am calling the 2nd script main.pl =========== print "This is my main script\n"; `perl C:\\Users\\sripathg\\Desktop\\scripts\\hi.pl`; ... (3 Replies)
Discussion started by: giridhar276
3 Replies

8. Shell Programming and Scripting

Perl : embedding java script with cgi perl script

Hi All, I am aware that html tags can be embedded in cgi script as below.. In the same way is it possible to embed the below javascript in perl cgi script ?? print("<form action="action.htm" method="post" onSubmit="return submitForm(this.Submitbutton)">"); print("<input type = "text"... (1 Reply)
Discussion started by: scriptscript
1 Replies

9. Shell Programming and Scripting

Excuting perl script from within a perl script with variables.

Not sure what I am doing wrong here, but I can print the list with no issue. Just a blank screen with the 'do'. #!/usr/bin/perl open FILE, "upslist.txt"; while ($line=<FILE>){ if ($line=~/^(.*?),(.*?)$/){ #print "ups:$1 string:$2\n"; do 'check_snmp_mgeups-0.1.pl -H $1 -C $2'; } ... (1 Reply)
Discussion started by: mrlayance
1 Replies

10. Programming

PERL: In a perl-scripttTrying to execute another perl-script that SETS SOME VARIABLES !

I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open()) I would like to run another PERL-script from first one, not... (1 Reply)
Discussion started by: alex_5161
1 Replies
All times are GMT -4. The time now is 04:18 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy