2016-02-21 23 views
0

我注意到Spreadsheet :: XLSX模块的行为不一致,具体取决于它的安装方式。当在openSUSE通过安装的/ usr /斌/ CPAN,它读取来自一个小区中的日期在Excel 2007片为:CPAN模块行为不一致 - 应该责怪谁?

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

这是正确的。但是它被安装在从openSUSE的存储库RPM的计算机上,同样的代码读取同一表的同一单元格返回:

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

对我来说,它看起来好像我自己的机器上编译的代码包含不同或者至少以不同于分发维护者编译的方式读取表格。

它看起来像是编写依赖于编译时环境的代码的原始作者的错误,编译非可移植代码的发行版维护者,还是决定在编译器中包含编译时环境相关代码的人作为RPM?

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

+3

做更多调查以确定根本原因。 – toolic

回答

9

关于“责备”。 ;)首先,读取模块的许可证。并阅读Linux的GPL。

你会发现这样的:这个包是提供的“原样”和没有用于特定用途的任何明示或默示的担保,包括但不限于适销的默示担保和健身。

关于错误报告:当然,欢迎使用错误报告。

关于这个问题:

  • 检查changelog到模块。
  • ,你会发现:

0.14

  • 改变默认的日期格式YYYY-MM-DD。这匹配Spreadsheet :: ParseExcel。

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

检查两者的模块版本(又名cpan和RPM安装)。

+0

我宁愿将它称为“记录的错误修复”。但一般来说,你是对的。 rpm版本已过时。 – Jasio

0

[羞愧]看起来像唯一责备的方是我[羞愧]。

我没有注意到,甚至没有检查作为RPM分发的模块是否过时。由于缺陷是固定的,CPAN安装的最新模块正常工作。