Hi, I am giving you the original data and programme.
data: ----- CME20CP6.CallDataRecord.uMTSGSMPLMNCallDataRecord { sCFChargingOutput { callIdentificationNumber : '6CBFD7'H exchangeIdentity : "DWLCCN6" gSMCallReferenceNumber : '9103770001'H switchIdentity : '0001'H recordSequenceNumber : '39D42E'H date : '1409071F'H } eventModule { iNServiceDataEventModule { chargePartySingle : 'aPartyToBeCharged (0)' genericChargingDigits { [0] : '2000'H [1] : '011351'H [2] : '223A941400'H [3] : '233A940209'H [4] : '043A2000'H [5] : '0542'H [6] : '2600'H [7] : '2700'H [8] : '080290701391620122'H [9] : '2A02'H [10] : '72000000000000000000000000'H [11] : '730000000000000000041F'H [12] : '7400000000'H [13] : '3502'H } genericChargingNumbers { [0] : '0003136985138324'H [1] : '010413198935930920'H [2] : '0203136985138324'H [3] : '038290905893701402'H [4] : '0B000002000000'H } serviceFeatureCode : '0002'H timeForEvent : '131A01'H } } } CME20CP6.CallDataRecord.uMTSGSMPLMNCallDataRecord { sCFChargingOutput { callIdentificationNumber : '6CC99C'H exchangeIdentity : "DWLCCN6" switchIdentity : '0001'H recordSequenceNumber : '39D42F'H date : '1409071F'H } eventModule { iNServiceDataEventModule { chargePartySingle : 'bPartyToBeCharged (1)' genericChargingDigits { [0] : '2002'H [1] : '010359'H [2] : '023A8207'H [3] : '033A8207'H [4] : '043A0000'H [5] : '0506'H [6] : '2600'H [7] : '2704'H [8] : '080290701391622322'H [9] : '2A02'H [10] : '72000000000000000000000000'H [11] : '730000000000000000001F'H [12] : '3500'H } genericChargingNumbers { [0] : '0003138935167173'H [1] : '028210850000'H [2] : '0303138935167173'H [3] : '06041319'H } serviceFeatureCode : '0002'H timeForEvent : '131A20'H } } } .......... The code I had written : ------------------------- #use strict; use IO::File; open (INPUT_FILE, $ARGV[0]) || die "cant open file\n"; my @body = <INPUT_FILE>; my $count= 0; my $output_file_name="Decoded_cdr.txt"; my $restartDuringCall = ","; open(OUT_FILE,">$output_file_name"); #print $body[6]; $no_of_lines=scalar(@body); $cntr = 1; $no_of_cdrs = 0; for ($i=0; $i < $no_of_lines; $i++) { $variable = $body[$i]; if ($variable =~ "CME20CP6") { $no_of_cdrs = $cntr + 1; } } #print "No of CDRS : $no_of_cdrs \n"; for ( $i = 0 ; $i < $no_of_lines ; $i++) { $variable = $body[$i]; if ( $variable =~ /callIdentificationNumber/) { @tmp_var = split(/([:\'])/,$variable); $callIdentificationNumber = $tmp_var[4]; #print "$callIdentificationNumber,"; } if ($variable =~ m/exchangeIdentity/ ) { @tmp_var = split(/([:\"])/,$variable); $exchangeIdentity = $tmp_var[4]; #print "$exchangeIdentity,"; } if ($variable =~ m/gSMCallReferenceNumber/ ) { @tmp_var = split(/([:\'])/,$variable); $gSMCallReferenceNumber = $tmp_var[4]; #print "$gSMCallReferenceNumber,"; } if ($variable =~ m/restartDuringCall/ ) { @tmp_var = split(/([:\'])/,$variable); my $restartDuringCall = $tmp_var[4]; #print "$restartDuringCall,"; } if ($variable =~ m/restartDuringOutputIndicator/ ) { @tmp_var = split(/([:\'])/,$variable); $restartDuringOutputIndicator = $tmp_var[4]; } if ($variable =~ m/lastPartialOutput/ ) { @tmp_var = split(/([:\'])/,$variable); $lastPartialOutput = $tmp_var[4]; } if ($variable =~ m/partialOutputRecNum/ ) { @tmp_var = split(/([:\'])/,$variable); $partialOutputRecNum = $tmp_var[4]; } if ($variable =~ m/switchIdentity/ ) { @tmp_var = split(/([:\'])/,$variable); $switchIdentity = $tmp_var[4]; } if ($variable =~ m/disconnectionDueToSystemRecovery/ ) { @tmp_var = split(/([:\'])/,$variable); $disconnectionDueToSystemRecovery = $tmp_var[4]; } if ($variable =~ m/forloppDuringOutputIndicator/ ) { @tmp_var = split(/([:\'])/,$variable); $forloppDuringOutputIndicator = $tmp_var[4]; } if ($variable =~ m/forloppReleaseDuringCall/ ) { @tmp_var = split(/([:\'])/,$variable); $forloppReleaseDuringCall = $tmp_var[4]; } if ($variable =~ m/recordSequenceNumber/ ) { @tmp_var = split(/([:\'])/,$variable); $recordSequenceNumber = $tmp_var[4]; } if ($variable =~ m/incompleteCallDataIndicator/ ) { @tmp_var = split(/([:\'])/,$variable); $incompleteCallDataIndicator = $tmp_var[4]; } if ($variable =~ m/mSCAddress/ ) { @tmp_var = split(/([:\'])/,$variable); $mSCAddress = $tmp_var[4]; } if ($variable =~ m/date/ ) { @tmp_var = split(/([:\'])/,$variable); $date = $tmp_var[4]; } if ($variable =~ m/outputType/ ) { @tmp_var = split(/([:\'])/,$variable); $outputType = $tmp_var[4]; } #print "$callIdentificationNumber,$exchangeIdentity,$gSMCallRefere +nceNumber"; } print "\n"; close (INPUT_FILE); close OUT_FILE; ---------------------------------------------
The output generates : The output not generating the required output.. This is like : value1,value2... Please help..
In reply to Re^4: String Search
by kallol.chakra
in thread String Search
by kallol.chakra
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |