perl - 如何管理用 Perl 编写的脚本的命令行参数/变量?

标签 perl command-line-arguments

我正在尝试管理用户在执行命令时指定的大量参数。到目前为止,我一直在尝试将我的脚本设计限制为将参数作为可以使用 Getopt::Long 轻松管理的标志来管理,如下所示:

GetOptions ("a" => \$a, "b" => \$b);

通过这种方式,我可以检查是否指定了 a 或 b,然后执行相应的代码/函数。

但是,我现在有一个案例,用户可以指定两个参数变量,如下所示:

command -a black -b white

这很好,但我想不出一个好的方法来确定是先指定 -a 还是 -b。因此,我不知道在执行 GetOptions ("a"= >\$a, "b"=>\$b);.

在上面的示例中,我如何知道哪个变量与 -a 相关联,哪个与 -b 相关联?

最佳答案

Getopt 支持选项的参数,所以你可以说例如:

GetOptions( 'a=s' => \$a, 'b=s' => \$b);
print "a is $a and b is $b";

在您的问题打印中使用命令行:

a is black and b is white

manual page更多选择。这是一个非常强大的模块。

关于perl - 如何管理用 Perl 编写的脚本的命令行参数/变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2926608/

相关文章:

c - 在 C 中存储命令行参数的最佳方法

python - 通过 .txt 文件向 Scrapy Spider 传递一个要抓取的 URL 列表

javascript - 如何在 eval() 中评估 console.log(1+2) ?

linux - 为什么即使使用不同的变量 ref,waitVariable 调用也不是独立的?

perl - Perl `split`不能 `split`到默认数组

xml - 创建xml文档: inline vs template language

linux - 使用 cut 将 cat 限制为值 1 或以上 我不这样做

android - 使用 gradle 进行 Android 仪器测试的命令行参数

perl - 在 perl 中从函数返回 +{} 或 {} 与返回 ref 或 value 之间的区别

regex - Perl 单词拆元音 : removing all vowels except the first and last