http://hi.baidu.com/rootme/blog/item/352738385690aff93b87cef5.html
http://blog.csdn.net/jiangredsheep/archive/2006/01/18/583312.aspx
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 这回大家知道Getopt::Std模块是怎么回事了吧:) 处理命令行选项是一个很重复的事情,Getopt::Long 把这个过程简单化了。使用这个模块其实只要知道一些常用的用法就行了。 这是文档中的例子: use Getopt::Long; 观察一下 GetOptions 函数的参数,可以发现,大致可以把设置分为三个部分: (1)命令行的选项,对应于“length”,“file”,”verbose”,这样在命令行就可以用 -length 或者 —length 甚至 -l(必须是唯一的) 触发选项了。可以通过使用“|”来设置别名。(2)选项类型,后面接有=的字符串要求接字符串(s)、 整数(i),或者浮点(f)等类型的自变量。后面接有:的选项会接受缺省为0或者为空字符串的可选自变量。(3)选项设置的变量。 对于不传递参数的选项,也就是一些开关类型,可以在第一部分后接“!”,这表示该选项不接收自变量,但是可以通过在前面加上no变成负的(例 如,“more”选项的-nomore)。如果不是用“!”,而是“+”,这表示它会在每次出现的时候增加一个变量。如果选项出现在命令行里,那么相关的 变量被设置为1;如果负的选项出现了,那么相关的变量就被设置为0。 下面的例子来自 http://www.zdnet.com.cn/developer/code/story/0,3800066897,39190451,00.htm use Getopt::Long; |