#Modules to use use Cwd 'abs_path'; use Win32::OLE; use Win32::OLE qw(in with); use Win32::OLE::Const "Microsoft Excel"; $Win32::OLE::Warn = 3; my $start_run = time(); print"[USAGE]: <.map file path> \n"; print"[INFO]: Executing demoscript.pl V1.0.1.\n"; #Global Variables my @longNames; my $SystemPortTracingReport = $ARGV[0]; my $CLEA_Family = $ARGV[1]; my $GlobalB_HighFeature = $ARGV[2]; my $Excel =Win32::OLE->new('Excel.Application'); # Open Excel file my $Book = $Excel->Workbooks->Open($SystemPortTracingReport); my $Book2 = $Excel->Workbooks->Open($CLEA_Family); #Make Excel visible $Excel->{Visible} = 1; my $Sheet = $Book->Worksheets("GlobalB_HighFeature"); my $Sheet2 = $Book2->Worksheets("GlobalB_HighFeature_SerialDataR"); my $longNamecol; my $Signalcolumn; for($i=1; $i<30;$i++) { if($Sheet->Cells($startingrow, $i)->{'Value'} eq "Long Name") { $longNamecol = $i; } } for($i=1; $i<30;$i++) { if($Sheet2->Cells($startingrow, $i)->{'Value'} eq "Long Name") { $Signalcolumn = $i; } } print"\n$longNamecol\n"; print"\n$Signalcolumn\n"; my $emptyline=0; for(my $k=2; $k<521754; $k++) { if($Sheet->Cells($k,$longNamecol)->{'Value'} eq "") { $emptyline++; } else { push(@longNames, $Sheet->Cells($k,$longNamecol)->{'Value'} +); # my $temp = $Sheet->Cells($k,$longNamecol)->{'Value'}; # print"\n $temp"; $count++; } } my $data; my $length; $length = scalar(@longNames); print"Length $length"; print"Searching...........\n"; $Book->Save; #Or $Book->SaveAs("C:\\file_name.xls"); $Book->Close; #or $Excel->Quit; for(my $m=0; $m<$length; $m++) { for(my $l=2; $l<2990; $l++) { if($Sheet2->Cells($l,$Signalcolumn)->{'Value'} eq "") { next; } else { if($Sheet2->Cells($l,$Signalcolumn)->{'Value'} eq $longNam +es[$m]) { $Sheet2->Cells($l,100)->{'Value'} = "matched"; print"\n***********Matched*************\n"; } } } } print"\n**********finished!**************\n"; #Save Excel file $Book2->Save; #Or $Book->SaveAs("C:\\file_name.xls"); $Book2->Close; #or $Excel->Quit; my $end_run = time(); my $run_time = $end_run - $start_run; print"\n[INFO]Timetaken: $run_time [Secs]";