P
perl Newbie
Hi,
Please help me understand why I am getting error { Can't call method
"value" on an undefined value excelRead.pl line 34. }
Line 34 in my script is $qval = $qcell->value();
When I checked the excel file, there are no blank rows in column 1,
then how come it is throwing an error -undefined value?
Thanks!
__CODE__
use strict;
use warnings;
use Spreadsheet:arseExcel;
my $excelfilename="Data2.xls";
my $datasheet="data";
my $parser = Spreadsheet:arseExcel->new();
my $workbook = $parser->Parse($excelfilename);
my $worksheet = $workbook->Worksheet($datasheet);
my ( $row_min, $row_max ) = $worksheet->row_range();
my $row;
my $cell;
my $cell_value;
my $qcell;
my $qval;
my @qids;
for $row ($row_min .. $row_max) {
$cell = $worksheet->get_cell($row,3);
$cell_value = $cell->value();
if ($cell_value =~/single choice/i) {
$qcell = $worksheet->get_cell($row+1,0);
$qval = $qcell->value();
until ($qval =~/question/) {
$qcell = $worksheet->get_cell($row
+1,0);
$qval = $qcell->value();
push @qids, $worksheet->get_cell($row
+1,1)->value();
$row++;
}
}
}
foreach my $l (@qids) {
print $l, "\n";
}
Please help me understand why I am getting error { Can't call method
"value" on an undefined value excelRead.pl line 34. }
Line 34 in my script is $qval = $qcell->value();
When I checked the excel file, there are no blank rows in column 1,
then how come it is throwing an error -undefined value?
Thanks!
__CODE__
use strict;
use warnings;
use Spreadsheet:arseExcel;
my $excelfilename="Data2.xls";
my $datasheet="data";
my $parser = Spreadsheet:arseExcel->new();
my $workbook = $parser->Parse($excelfilename);
my $worksheet = $workbook->Worksheet($datasheet);
my ( $row_min, $row_max ) = $worksheet->row_range();
my $row;
my $cell;
my $cell_value;
my $qcell;
my $qval;
my @qids;
for $row ($row_min .. $row_max) {
$cell = $worksheet->get_cell($row,3);
$cell_value = $cell->value();
if ($cell_value =~/single choice/i) {
$qcell = $worksheet->get_cell($row+1,0);
$qval = $qcell->value();
until ($qval =~/question/) {
$qcell = $worksheet->get_cell($row
+1,0);
$qval = $qcell->value();
push @qids, $worksheet->get_cell($row
+1,1)->value();
$row++;
}
}
}
foreach my $l (@qids) {
print $l, "\n";
}