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]
举个例子就很清楚了:
cat 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
这回大家知道Getopt::Std模块是怎么回事了吧:)
当然除了Getopt::Std模块外,还有Getopt::Long模块。从名字中也能看出该模块功能更强,用法更难!
特别是用java Runtime.getRuntime().exec(cmd) 调用perl脚本,这块用处很广