Chinaunix
标题:
这段perl变量赋值吗?看不懂
[打印本页]
作者:
lxzkenney
时间:
2018-11-21 23:41
提示:
作者被禁止或删除 内容自动屏蔽
作者:
hztj2005
时间:
2018-11-22 23:20
本帖最后由 hztj2005 于 2018-11-25 22:51 编辑
理解这种代码,你自己运行观察一下是最好的。
Getopt这个模块中,GetOptions函数参数中 =s 指示对应的命令行参数是字符串
=i
指示对应的命令行参数是
整数。
下面链接解释的比较清楚
https://blog.csdn.net/zhuzhiqi11/article/details/37877383
use strict;
use Getopt::Long;
my ( $verbose, $more, $tag);
GetOptions("verbose+" => \$verbose, #接有 + 的选项不接收变量,每次出现时增加一次变量,
#就是命行时在参数中出现 -v -v 时 $verbose 的值为 2。
'more!' => \$more, #接有 ! 的选项不接收变量
'tag=s' =>\$tag, # 对应的命令行参数是字符串
) or die ("Invalid arguments.\n");
if ($verbose){
print "\$verbose received\n";
} else {
print "No expected arguments\n";
}
print "$verbose\n";
print "$more\n";
print "$tag\n";
exit;
复制代码
执行: perl testgetopt.pl -m -v -v -tag=study
输出:
$verbose received
2
1
study
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2