Hi i have a below program to compare two file and log the result in new file. Its taking more than 10 min to log the data to AuditNew.txt file. br.1 file have around 3 lakh lines and MSMLogs.txt will have around 7,000 line.
Is there is any way to get the result logged faster in AuditNew.txt.
Note : Below print is displayed in console every 1 seconds for each line. it means the processing is faster but writing the data to text file is getting delayed.
print("\nnumber of occurance is $count\n");
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
#Open MSM Log in read Mode
open(my $MSMLog, '<','MSMLogs.txt');
#Create Audit txt file in write mode
open(my $Audit, '>','br.1');
print("Task Started.........\n");
#iterate each word to identify the logs
while (my $row = <$MSMLog>) {
chomp $row;
getCount($row);
}
sub getCount {
#Open MobileService.log file in read mode
open(my $MobileServiceLog, '<','one.txt');
my @StaticLog = @_;
my $count = 0;
#print ("\nvalue in MSM Static is ------ $StaticLog[0]\n");
while (my $row = <$MobileServiceLog>) {
my @actualWord = split /;/, $row;
my $MobileService = $actualWord[7];
#print ("value in MobileService is ------ $MobileService\n");
if ($MobileService =~ /$StaticLog[0]/) {
$count += 1;
}
}
$_=1
print ($Audit "\n$StaticLog[0] occurance is ------- \t$count\n");
print("\nnumber of occurance is $count\n");
close $MobileServiceLog;
}
print ($Audit "Task Completed");
print ("Task Completed");
close $MSMLog;
close $Audit;
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|