Perl有一个类似于docopt的模块吗?

时间:2013-08-20 13:57:10

标签: perl perl-module

是否有任何Perl模块具有与Docopt类似的功能,或者是否正在为其开发端口?

Docopt是一个模块,它通过解析用法和选项消息为命令行调用创建接口。

您可以创建标准帮助消息,例如

    Naval Fate.

    Usage:
      naval_fate ship new ...
      naval_fate ship  move   [--speed=]
      naval_fate ship shoot  
      naval_fate mine (set|remove)   [--moored|--drifting]
      naval_fate -h | --help
      naval_fate --version

    Options:
      -h --help     Show this screen.
      --version     Show version.
      --speed=  Speed in knots [default: 10].
      --moored      Moored (anchored) mine.
      --drifting    Drifting mine.

然后为您创建选项处理程序,而不是使用Getopt :: Long再次编写它们,并且还处理命令解析(我使用App :: Cmd)。

似乎它始于Python,现在已经用许多其他语言实现。

http://docopt.org/

https://github.com/docopt/docopt

1 个答案:

答案 0 :(得分:7)

Perl的Docopt正如@marderh的评论所指出的那样。此外,还有其他模块提供类似的功能,例如Getopt::AutoGetopt::EuclidGetopt::AsDocumented ......