perl help for comma seperated output

Hi,

how can i make a comma seperated output summary.
i attached the sample log file.

I have to capture these data in the log file.

Arcotid
Time Stamp, Username, Success, Failure, Error Code, Error Message

In the log snippet the userID can be found in-

Code	

Arcot Native Server: recvd AA_BIN_MSG_VER_CHG
Cert Subject String....:[CN=01095848;O=MLS; UserID=012345; CardName=ARCARD]

Success and failure are like this-
Code

ArcotID Auth SUCCESS (serial Number [e93b])
Auth fail due to signature verification.Serial Number [11872](This is error message also)
Code

error code is -
Authentication mechanism returned [3], here 3 is error code and for success error code is always 0.

Formatting and printing in csv format is the part i am unaware,so i require your help in this.I need to do this for all authentication methods so if i get help in one i will be able to do it for rest.

Thanks
NT

Use the perl string functions to parse the elements to log, then just use a print statement to add the rest.

print OUT $id . "," . $ele1 . "," . $ele2 . "," . $ele3

The work is in the parsing, the output is just tedious...

namishtiwari,

please show us what you have tried so far.

#!/usr/bin/perl

print "Hello, World...\n";
my $logFile = $ARGV[0]; 
die "usage: $0 <logFile>" unless $logFile; 
die "Logfile $logFile doesn't exist" unless -f "$logFile"; 
open(my $log, "<", $logFile) or die "Can't open $logFile for reading."; 
print "Processing file $logFile...\n"; 
#my $authenticates = {}; 
my $n = 0;
my $Time_Stamp ;
my $User_Name;
my $Success;
my $Failure;
my $ErrorCode;
my $ErrorMsg;
while(my $line = <$log>) { 
   	$n++; 
    $line =~ tr/\r\n//d; 
	if ($line =~ /^(.*)INFO:.*recvd AA_BIN_MSG_GET_WLT/) {
		$Time_Stamp = $1;
		while ( $line = <$log> ) {
			if ($line =~ /recvd AA_BIN_MSG_VER_CHG$/) {
				while ( $line = <$log>) {
					if ($line =~ /Cert.*UserID=(\d+)/) {
						$User_Name = $1 ? $1 : "NULL" ;
					}
				}
				while ( $line = <$log> ) {
					if ($line =~ /ArcotID Auth SUCCESS/) {
						$Success = "Success";
					}
				}

				while ( $line = <$log> ) {
					if ($line =~ /Auth fail due to signature verification/) {
						$Failure = "Failure";
					}
				}
				while ( $line = <$log> ) {
					if ($line =~ /Authentication mechanism returned \[(\d+)\]/) {
						$ErrorCode = $1;
					}
				}
				while ( $line = <$log>) {
					if ($line =~ /(Auth fail due to signature verification.)/) {
						$ErrorMsg = $1 ? $1 : "Null";
					}
				}
			}print "$Time_Stamp , $User_Name , $Success , $Failure , $ErrorCode , $ErrorMsg \n";
		}
	}

				
}

            

The Log File snippet is like this--

Native Server: recvd AA_BIN_MSG_GET_WLT
Fri May 29 18:31:53.467 2009 Morocco Standard Time INFO:    pid 3216 tid 2672: 17: 132357: ArAuthFrameworkImpl::doAuth::11:132357:: Authentication mechanism returned [1] for AuthIdentity [;ARCARD]
Fri May 29 18:31:53.467 2009 Morocco Standard Time INFO:    pid 3216 tid 2672: 170: 132357: Handle_NSPAdvice:: Handling NSPAdvice for mechanism [4]
Fri May 29 18:31:53.467 2009 Morocco Standard Time INFO:    pid 3216 tid 2672: 17: 132357: ArAuthFrameworkImpl::doPostAuth::11:132357:: Authentication mechanism returned [1] for AuthIdentity [01302904]
Fri May 29 18:31:53.482 2009 Morocco Standard Time INFO:    pid 3216 tid 2672: 60: 132357: Sending Continue with challenge
Fri May 29 18:31:53.482 2009 Morocco Standard Time INFO:    pid 3216 tid 2672: 61: 132357: Packet being sent
Fri May 29 18:31:53.482 2009 Morocco Standard Time INFO:    pid 3216 tid 2672: 60: 0: Packet Sent     (MsgType:110, Size: 1564 Bytes).
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 60: 0: Packet Received (MsgType:109, Size: 1463 Bytes).
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 60: 0: Locale Name[en], Locale ID[1]
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 0: 132358: Message: ArAuthBinaryAuthRequestMgr::setSecurityInfo: security_info_offset [0] is invalid. Assuming security info not available.
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 17: 132358: Using session identifier [11:132358]
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 17: 132358: ArAuthFrameworkImpl::doPreAuth::11:132358:: Authentication mechanism returned [0] for AuthIdentity []
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: Arcot Native Server: recvd AA_BIN_MSG_VER_CHG
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: Cert Subject String....:[CN=01302904;O=MLS; UserID=0123456; CardName=ARCARD]
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: Cert issuer............:[]
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: Cert serial String.....:[e93b]
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: ArcotId Certificate received with signature have ArcotExtension. Cert issuer=CN=
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: ArcotID Auth SUCCESS (serial Number [e93b])
For Fail the line is --
Auth fail due to signature verification.Serial Number [11872]
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: Session tracker Id associated with verify signed challenge[11:132351]
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 17: 132358: ArAuthFrameworkImpl::doAuth::11:132351:: Authentication mechanism returned [0] for AuthIdentity []
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: Handle_NSPAdvice:: Handling NSPAdvice for mechanism [4]
Fri May 29 18:31:53.498 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: Handle_NSPAdvice::NSP Action :[NSP_RESET]
Fri May 29 18:31:53.514 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 170: 132358: NSP Update Query is based on Serial Number
Fri May 29 18:31:53.514 2009 Morocco Standard Time INFO:    pid 3216 tid 2888: 17: 132358: ArAuthFrameworkImpl::doPostAuth::11:132351:: Authentication mechanism returned [0] for AuthIdentity [01302904]

The formating is issue for me. Please give your suggestions in this.