in reply to erron in spreadsheet::Write Excel

The problem is obviously on line 42 of your code... wait. Maybe my crystal ball is broken. Show us some code please.

See also How (Not) To Ask A Question.

Replies are listed 'Best First'.
Re^2: erron in spreadsheet::Write Excel
by Anonymous Monk on Sep 11, 2008 at 06:51 UTC
    code:
    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

      I don't know what particular error causes the problem you described, but the code is very hard to read (no indenting at all) and misses basic sanity measures (such as use strict; use warnings;).

      Without any data files it's basically impossible for us to debug.

      However there are some lines that look very suspicious to me:

      open $file1 = "executable_$Fld[0]"; open $file2 = "not_executable_$Fld[0]";

      What do you think these lines do? I've never seen that idiom before.