分类: IT业界
2011-07-12 14:26:14
Getopt::Std模块的使用:
初始设置:
在程序中加入如下代码:
use Getopt::Std;
use vars qw($opt_d $opt_f $opt_p);
getopts('d:f:p');
(注意上两行的参数要对应)
[ 解释一下"d:f:p",d和f后有冒号,表示-d,-f后面要跟参数。p后面没有冒号,表示-p后面不带参数。
而且-d,-f后所跟的参数分别赋给变量$opt_d和$opt_f。对于变量$opt_p,若命令行加了-p,则$opt_p=1,否则为0]
举个例子就很清楚了:
vi file.pl
添加如下代码:
use Getopt::Std;
use vars qw($opt_d $opt_f $opt_p);
getopts('d:f:p');
print "\$opt_d =>; $opt_d\n" if $opt_d;
print "\$opt_f =>; $opt_f\n" if $opt_f;
print "\$opt_p =>; $opt_p\n" if $opt_p;
然后在命令行中运行:
perl file.pl -d 20040412 -f louiskoochen -p
可得到下列形式的输出:
$opt_d =>;200040412
$opt_f =>;louiskoochen
$opt_p =>;1
示例程序:
1. Getopt::Std
getopt.pl;
而且-a,-b后所跟的参数分别赋给变量$opt_a和$opt_b,对于变量$opt_c,若命令行加了-c,则$opt_c=1,否则为0.
如:
perl getopt.pl -a aa -b bb -c cc
显示:
opt_a =>;aa
opt_b =>;bb
opt_c =>;1
如:
perl getopt.pl -a aa -b bb
opt_a =>;aa
opt_b =>;bb
(因为加了if判断,所以$opt_c没有显示);
上面的例子,用Getopt::Long可以这样实现
2. Getopt::Long
上面的例子,用Getopt::Long可以这样实现
getoptions.pl