Dr.*_*ust 5 perl command-line getopt
我的 perl 脚本中有以下代码:
我的 $ 目录;
我的文件;
我的 $help;
我的$man;
我的 $verbose;
undef $目录;
undef @files;
undef $help;
undef $man;
undef $verbose;
获取选项(
"dir=s" => \$directory, # 带有默认值的可选变量 (false)
"files=s" => \@files, # 允许逗号分隔的可选变量
# 文件名列表以及多个
# 此选项出现的次数。
“帮助|?” => \$help, # 带有默认值的可选变量 (false)
"man" => \$man, # 带有默认值的可选变量 (false)
"verbose" => \$verbose # 带有默认值的可选变量 (false)
);
如果(@files){
@files = split(/,/,join(',', @files));
}
处理互斥命令行参数的最佳方法是什么?在我的脚本中,我只希望用户只输入“--dir”或“--files”命令行参数,但不能同时输入两者。反正有没有配置Getopt来做到这一点?
谢谢。
我认为 Getopt::Long 中没有办法做到这一点,但是您自己实现它很容易(我假设有一个使用函数返回一个字符串,告诉用户如何调用该程序):
die usage() if defined $directory and @files;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5392 次 |
| 最近记录: |