超市日用品是那类:扶凯 ? [Perl] Getopt 函数来接收用户参数的使用

来源:百度文库 编辑:九乡新闻网 时间:2024/04/30 14:14:55

带值参数
※参数类型:整数, 浮点数, 字串

GetOptions( ‘tag=s’ => \$tag );
‘=’表示此参数一定要有参数值, 若改用’:'代替表示参数不一定要有参数值
‘s’表示传递字串参数, 若为’i'表传递整数参数, 若为’f'表传递浮点数
example:
test.pl –tag=string
or
test.pl –tag string

 

多参数值的参数

GetOptions ("library=s" => \@libfiles);
参数传到 @tag
or
GetOptions ("library=s@" => \$libfiles);
参数传到 @$tag
example:
test.pl –library lib/stdlib –library lib/extlib

 

参数别名
GetOptions (‘length|height=f’ => \$length);
第一个名称为primary name, 其他的名称为alias(可有多个alias名称)
当使用hash参数时, 使用primary name作为key值

参数的简称及大小写
GetOptions (‘length|height=f’ => \$length, "head" => \$head);
若没有特别设定, Getopt会忽略参数的大小写, 也就是 -l or -L 指的都
是同一个参数(–length)

对于不传递参数的选项,也就是一些开关类型,可以在第一部分后接“!”,这表示该选项不接收自变量,但是可以通过在前面加上no变成负的(例如,“more”选项的-nomore)。如果不是用“!”,而是“+”,这表示它会在每次出现的时候增加一个变量。如果选项出现在命令行里,那么相关的变量被设置为1;如果负的选项出现了,那么相关的变量就被设置为0。

 

hash参数值(有名称及参数值)
GetOptions ("define=s" => \%defines);
or
GetOptions ("define=s%" => \$defines);
example:
test.pl –define os=linux –define vendor=redhat