不一致的CPAN模块行为 – 责怪谁?

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

$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' => 'md-yy', 'Val' => '42373', '_Value' => '1-4-16' }, 'Spreadsheet::ParseExcel::Cell' ); 

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

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

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

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

您会发现类似以下内容: 本“软件包”按“原样”提供,没有任何明示或暗示的保证,包括但不限于对适销性和适用于特定用途的暗示保证。

关于错误报告:当然,错误报告是受欢迎的。

关于这个问题:

  • 检查模块的更新日志 。
  • 你会find:

0.14

  • 将默认date格式更改为yyyy-mm-dd。 这匹配Spreadsheet :: ParseExcel。

所以,可能不是一个BUG – 而是一个logging的变化。

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

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

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