计算赋给变量的条件

  • 本文关键字:条件 变量 计算 perl
  • 更新时间 :
  • 英文 :


我正在使用模块Excel::Writer::XLSX,我需要评估此条件以检查是否创建了工作表(如果工作表已经存在,我只需要执行某些操作)

my $sheet = $workbook->add_worksheet($filters{$filter}{description});

我该怎么做呢?知道如果工作表已经存在,add_worksheet方法就会"消失"。出现如下错误:

Worksheet name 'All Users', with case ignored, is already used. at ./xxxx.pl line 203.

当然,这样做是行不通的,因为我相信它会计算变量赋值:

if (my $sheet = $workbook->add_worksheet($filters{$filter}{description});) {
# good, sheet doesn't already exists and was created
# i can place my code here to insert header rows etc./ colors 
} else {
# program fires a message like :
# Worksheet name 'XXXXXX', with case ignored, is already used. at XXX
# no need to place code for column headers etc., sheet already exists
}

你可以使用

my $name = $filters{$filter}{description};
my $sheet =
$workbook->get_worksheet_by_name( $name ) ||
$workbook->add_worksheet( $name );

nvm,我使用了一个散列,我正在检查散列

if (!$sheets{$filter}) {
$sheets{$filter} = $workbook->add_worksheet($filters{$filter}{description});

工作好

最新更新