getopt :: long&getOptions中的子例程



是否有可能通过getopt :: long?例如,当用户指定 script.pl -pandora参数上时,我有此代码调用salt& sal

GetOptions (            "domain=s"    => $domain,
                        "pandora=s"   => &Salt,
                        "reverse=s"   => $reverse,
                        "help"        => &Usage)
       or die(&Usage);

我如何将论点传递给盐?尝试了几件事,例如:

GetOptions (            "domain=s"    => $domain,
                        "pandora=s"   => &Salt($pandora),
                        "reverse=s"   => $reverse,
                        "help"        => &Usage)
       or die(&Usage);

甚至

    GetOptions (            "domain=s"    => $domain,
                            "pandora=s"   => &Salt($_[1]),
                            "reverse=s"   => $reverse,
                            "help"        => &Usage)
       or die(&Usage);

但它行不通

我知道我可以通过做=> $ pandora使其正常工作,然后使用代码中的条件,该条件说如果($ pandora){& salt($ pandora)},但是我会发现要把如果可能的话,直接在getOptions中

谢谢

"pandora=s" => sub { my ($optname, $optval) = @_; Salt($optval) },

它也可以处理哈希。

请参阅用户定义的子例程,以处理文档中的选项部分。

最新更新