【问题标题】:Getopts perl ordergetopts perl 命令
【发布时间】:2015-07-02 02:46:46
【问题描述】:

我在 perl 中遇到了一些关于 getopts 的问题。

我用:

getopts("abc:ds:", \%options);

我正在检查选项

if (defined $options{a})

其中 $options 是选项写入的哈希值。

在选项之后用户必须输入一个文件名,我用 $ARGV[0] 定位。问题是,用户不能将选项放在文件名之后,而只能放在前面。

所以这是有效的:

skript.pl -a file.txt

这是行不通的:

skript.pl file.txt -a

我怎样才能避免这个问题?

谢谢!

-亚历克斯

【问题讨论】:

    标签: perl getopts


    【解决方案1】:

    Getopt::Std 实在太有限了,几乎无法在所有情况下使用。

    使用 Getopt::Long 并设置 permute 选项以允许这样做。

    【讨论】: