标签:linux perl windows cpan packaging
最近我查看了CPAN上的一个模块,它附带了一个要安装的脚本
这让我很好奇.在脚本中包含脚本的推荐方法是什么?
应该最终公开CPAN,如果有任何不同的建议
将在内部CPAN服务器上发布的软件包?
该脚本如下所示:
#!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; # not running under some shell
两个问题
我是否正确理解eval部分是不必要的?
这将在安装过程中由CPAN客户端嵌入
在Windows上安装时会有很大的不同.
什么是推荐的sh-bang线?
那会吗?
#!/usr/bin/env perl
而不是上述?
解决方法:
只是用
#!/usr/bin/perl
(或者,可选地,无论perl在开发机器上的路径是什么.)
当Module :: Build或MakeMaker安装你的脚本时,它会改变#!用于匹配正在安装模块的perl的行.它还将添加“eval exec”行,除了在Windows下,它将创建一个.bat文件. (CPAN客户端与此无关.)
如果你使用
#!/usr/bin/env perl
然后安装程序将不会意识到这是一个Perl脚本,并且不会修改#!线.
标签:linux,perl,windows,cpan,packaging 来源: https://codeday.me/bug/20190723/1517314.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。