小编Jas*_*sio的帖子

Perl的Getopt :: Long如何发现缺少强制参数的参数?

在我的一个脚本中,我使用了Getopt :: Long库.在程序开始时我打电话:

&GetOptions ('help', 'debug', 'user=s' => \$GetUser);
Run Code Online (Sandbox Code Playgroud)

前两个论点很简单:我通过分别检查$opt_help和发现它们的存在$opt_debug.然而第三个参数很棘手,因为我需要区分没有选项($ GetUser未定义,这对我来说没问题),单独使用"--user"($GetUser也是未定义的,但这次我要显示一个错误消息)和"--user FooBar"($GetUser接收'FooBar',我可以在进一步处理中使用).

如何在没有用户名的情况下区分不使用"--user"选项和单独使用它?

perl getopt-long

2
推荐指数
1
解决办法
225
查看次数

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

我注意到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包含在存储库中的人的错误?

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

linux excel perl cpan opensuse

0
推荐指数
1
解决办法
94
查看次数

标签 统计

perl ×2

cpan ×1

excel ×1

getopt-long ×1

linux ×1

opensuse ×1