在连接(。)或字符串中使用未初始化的值,从spreadshit.pl第8行提取数据

问题描述 投票:0回答:1

我有perl代码:

#!/usr/bin/perl
use strict;
use warnings;

use Spreadsheet::Read;

my $workbook = ReadData ("test.xls");
print $workbook->[1]{A3} . "\n";

并得到此错误:在连接(。)中使用未初始化的值或从spreadshit.pl行8提取数据时使用字符串。

请咨询。

perl
1个回答
0
投票

如果您不知道您的单元格是否包含数据,通常会执行类似的操作

print $workbook->[1]{A3} . "\n" if defined $workbook->[1]{A3};

另一种方法,如果您仍然想用更现代的语言打印空行:

use v5.10;
say $workbook->[1]{A3} // '';

say类似于print,但是添加了新行//,即斜杠运算符,如果已定义,则使用左边的项目,否则使用右边的项目。

但是,是的,未初始化的值只是意味着您的变量是undef。

© www.soinside.com 2019 - 2024. All rights reserved.