是否有任何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,现在以许多其他语言实现.
解决方法
正如@marderh在评论中指出的那样,Perl有
Docopt.此外,还有其他模块提供类似的功能,如
Getopt::Auto,Getopt::Euclid,Getopt::AsDocumented ……