我可以在perl中多次调用Getopts吗?

Nee*_*raj 1 perl getopt-long

我是perl的菜鸟,所以请尽量耐心等待我的这个问题.

看来如果我多次调用perl Getopts :: Long :: GetOpts方法,第二次调用就完全被忽略了.

  1. 这是正常的吗?(为什么)

  2. 这个过程有哪些替代方案?

(实际上我已经编写了一个模块,我在其中进行GetOpts调用,使用我的模块的脚本也尝试这样做,但似乎脚本没有获得所需的选项)

谢谢,Neeraj

mu *_*ort 8

Getopts ::长时间改变@ARGV它的工作原理,就是它在@ARGV处理交换机时可以留下非开关值.因此,当您进行第二次调用时,没有任何内容@ARGV可以解析,也没有任何有用的事情发生.

但是,有GetOptionsFromArray:

默认情况下,GetOptions会解析全局数组中存在的选项@ARGV.可以使用特殊条目GetOptionsFromArray来解析任意数组中的选项.

因此,如果需要多次解析列表,可以使用(或其他一些数组)GetOptionsFromArray的副本@ARGV.