**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求书籍、工具、软件库等的建议。您可以编辑问题,以便使用事实和引文来回答。
7个月前关闭。
机构群体在6个月前审查了是否重新讨论此问题,并将其关闭:
原始关闭原因未解决
Improve this question
我有一个新的脚本,我需要用perl编写,以利用我们的perl代码库(不,我不能转换它,至少还不能)。我们的编码标准规定了Getopt::Long::GetOptions()
,但我意识到,如果我能把python的optparse.OptionParser放到其中,我的选项处理将得到极大的改进和简化。我喜欢python的地方:验证输入(格式和必需/可选),并根据参数配置自动生成帮助字符串。
有什么建议吗?我知道我可以自己卷,但我宁愿用别人的作品,如果它已经完成了。
4条答案
按热度按时间67up9zun1#
规范的工具是Getopt::Long。它本身并不是“声明性的”。是否有一些特定的行为是你试图复制的?
编辑:若要获得更多功能,您可能会对App::Cmd或其部分内容感兴趣(另请参阅App::Cmd::Tutorial)。
在内部使用Getopt::Long::Descriptive,它似乎满足了你的大部分需求。这对你可能特别有用,因为它在内部使用
Getopt::Long
和Params::Validate,所以移动你当前的代码库可能非常容易,但现在有了验证。zu0ti5jz2#
CPAN上的GetOpt名称空间中有很多选项。
GetOpt::Std和GetOpt::Long都是核心模块。
sigwle7e3#
现在有:Getopt::optparse(注意:我是此软件包的作者)
j1dl9f464#
MooseX::Getopt和MooX::Options都是选项。两者的工作方式类似,都使用Getopt::Long::Descriptive,将其与类集成以提供高级验证、默认设置和帮助文本。然后,您只需使用
new_with_options
构造函数,就可以获得该类的示例,并从命令行填充该类的所有位置。