【发布时间】:2020-03-21 03:48:33
【问题描述】:
我在 perl 中使用Win32::OLE::Const->Load():
$xl = Win32::OLE::Const->Load('Microsoft Excel');
然后我测试scalar(keys %{$xl}) 是否为零:
if (scalar(keys %{$xl})==0) {
return False;
}
else {
return True;
}
我在支持 Microsoft Excel 2003 的机器上测试了这段代码,它给出了True,但是当我在有 Microsoft Excel 2013 的机器上测试相同的代码时,它给了我False!
我还在第一台机器上打印了scalar(keys %{$xl},它给出了 2023,在第二台机器上它是 0!
最好的问候
【问题讨论】:
-
你在两台机器上使用的是哪个版本的
perl? -
@HåkonHægland 在有 Excel 2013 的机器上,版本是 (v5.26.3) MSWin64,另一个是 (v5.16.3) MSWin32-x86
-
print ref $xl,"\n"给你什么? -
@HåkonHægland 它什么也没提供,我还尝试在定义键的机器上打印 $xl 它在另一台机器中给出 HASH(...) 它什么也没提供