CPAN模块行为不一致 - 应该归咎于谁?

Jas*_*sio 0 linux excel perl cpan opensuse

我注意到Spreadsheet :: XLSX模块的行为不一致,具体取决于它的安装方式.当在/ usr/bin/cpan上安装在OpenSUSE上时,它会从Excel 2007工作表中的单元格中读取日期:

$VAR1 = bless({
    'Format' => 'yyyy-mm-dd', 
    'Val' => '2016-01-04', 
    '_Value' => '2016-01-04', 
    'Type' => 'Date' 
}, 'Spreadsheet::ParseExcel::Cell' )
Run Code Online (Sandbox Code Playgroud)

这是正确的.但是,在从OpenSuSE存储库安装RPM的计算机上,读取同一工作表的同一单元格的相同代码返回:

$VAR1 = bless({ 
    'Type' => 'Date', 
    'Format' => 'm-d-yy', 
    'Val' => '42373', 
    '_Value' => '1-4-16' 
}, 'Spreadsheet::ParseExcel::Cell'  );
Run Code Online (Sandbox Code Playgroud)

对我来说,看起来好像在我自己​​的机器上编译的代码包含不同的默认值,或者至少以不同于分发维护者编译的方式读取工作表.

它是原始作者编写依赖于编译时环境的代码,编译不可移植代码的分发维护者,还是决定将编译时环境相关代码作为RPM包含在存储库中的人的错误?

我不想责怪任何人,只是想知道,我应该在哪里提交错误报告.

jm6*_*666 9

关于"责备".;)首先,阅读模块的许可证.并且还阅读了Linux的GPL.

您会发现:此包装按"原样"提供,不提供任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的暗示保证.

关于错误报告:当然,欢迎错误报告.

关于这个问题:

0.14

  • 将默认日期格式更改为yyyy-mm-dd.这匹配Spreadsheet :: ParseExcel.

所以,可能不是一个BUG - 而是一个记录在案的变化.

检查两者的模块版本(也就是从cpan和RPM安装).