加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 指定可选参数的正确语法是什么?

发布时间:2020-12-16 06:20:25 所属栏目:大数据 来源:网络整理
导读:我有一个可以被称为的Perl脚本 perl mysrc.pl -a=3 -b=4 -c=6 或者作为 perl mysrc.pl -t=15 基本上,(或者为t提供值)OR(为a,b和c提供所有值).至少必须指定其中一组值. 我怎么说语法上面的内容? perl mysrc.pl [-a=value of a] [-b=value of b] [-c=value of
我有一个可以被称为的Perl脚本

perl mysrc.pl -a=3 -b=4 -c=6

或者作为

perl mysrc.pl -t=15

基本上,(或者为t提供值)OR(为a,b和c提供所有值).至少必须指定其中一组值.

我怎么说语法上面的内容?

perl mysrc.pl
     [-a=<value of a>]
     [-b=<value of b>]
     [-c=<value of c>]
     [-t=<value of t>]

意味着所有参数都是可选的,但事实并非如此.为mysrc.pl编写语法的正确方法是什么?

解决方法

两个选项:使用“|”作为“OR”符号和非方括号用于分组以避免“可选”上下文,或列出多行竞争用法

perl mysrc.pl {-a=<value of a> -b=<value of b> -c=<value of c>|-t=<value of t>}

perl mysrc.pl UseCaSEOneOptions|UseCaseTwoOptions
     UseCaSEOneOptions: -a=<value of a> -b=<value of b> -c=<value of c>
     UseCaseTwoOptions: -t=<value of t>

对于非常复杂的选项集(想想CVS),做CVS做的事情(目前没有xterm,所以下面是内存的粗略近似) – 也就是说,通用“帮助”消息只列出所有可能的用例,并且获取有关每个用例的选项集的帮助,您可以发出每用例帮助命令.

$cvs --help
  Usage: cvs <command> <per-command-options>
  Please type "cvs command --help" to get help on specific command's options
  Commands are: 
      cvs add
      cvs commmit
      cvs remove
      ...

$cvs checkout --help
  Usage: cvs checkout [-p] [-A] [-m message] [-M message_file] file_path
      -m message:          check-in comment
      -M file:             read check-in comment from this file
      -p:                  non-sticky checkout. Print the file to STDOUT.

$cvs diff --help
  Usage: cvs diff [-r VER1] [-r VER2] [-w] file_path
       -w:                 Ignore whitespace

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读