use Spreadsheet::WriteExcel;
my $token;
my $file;
my $del;
my $wb;
my $file = "coverage";
open (TXTFILE, "$file") or die;
my $wb = Spreadsheet::WriteExcel->new("$file.xls");
my $coverage = $wb->addworksheet("coverage");
my $row = 2;
my $col;
$coverage->set_column( 0, 0, 25 );
$coverage->set_column( 1, 1, 25 );
$coverage->set_column( 2, 2, 25 );
$coverage->set_column( 3, 3, 25 );
$coverage->set_column( 4, 4, 25 );
my $format = $wb->add_format(
color => 12, # index for blue
font => 'Arial',
size => 12,
bold => 1,
);
$coverage ->write(0, 0, "TARGET",$format);
$coverage ->write(0, 1, "TOTAL_COMMANDS",$format);
$coverage ->write(0, 2, "EXECUTABLE",$format);
$coverage->write(0, 3, "NOT_EXECUTABLE",$format);
$coverage ->write(0, 4, "COVERAGE",$format);
my ($y,$x) = (0, 0);
while (<TXTFILE>) {
chomp;
$del="\t";
my $row1 = 2;
my $col1;
my $row2 = 2;
my $col2;
my @Fld = split(/$del/, $_);
$col = 0;
my $coverage1 = $wb->addworksheet("$Fld[0]_execcutable");
my $coverage2 = $wb->addworksheet("$Fld[0]_not_execcutable");
my $format1 = $wb->add_format(
color => 17, # index for blue
font => 'Arial',
size => 12,
bold => 0,
);
my $format2 = $wb->add_format(
color => 10, # index for blue
font => 'Arial',
size => 12,
bold => 0,
);
open $file1 = "executable_$Fld[0]";
open $file2 = "not_executable_$Fld[0]";
open (EXEFILE, "$file1") or die;
open NEXEFILE, $file2 or die"cannot open $file2 for read:$!";
foreach $token (@Fld) {
$coverage->write($row, $col," \ $token\ " );
$col++;
}
while (<EXEFILE>){
$del1="\n";
$col1 = 0;
my @Fld1 = split(/$del1/, $_);
foreach $token1 (@Fld1) {
$coverage1->write($row1, $col1," \ $token1\ ",$format1 );
$coverage1->write($row1, $col1," \ $token1\ ",$format1 );
$col1++;
}
$row1++;
}
while (<NEXEFILE>){
$del2="\n";
$col2 = 0;
my @Fld2 = split(/$del2/, $_);
foreach $token2 (@Fld2) {
$coverage2->write($row2, $col2," \ $token2\ ",$format2 );
$coverage2->write($row2, $col2," \ $token2\ ",$format2 );
$col2++;
}
$row2++;
}
$row++;
}
close (NEXEFILE);
close (EXEFILE);
close (TXTFILE);
20080911 Janitored by Corion: Added code tags, as per Writeup Formatting Tips |