perl命令行参数解析

perl命令行参数解析

      mysql -h ip -u root  此类就属于命令行解析范畴了,不过mysql客户端貌似是C写的,当然perl也可以搞得像这样

看起来灰常的酷,在CPAN上我们可以看到Getopt::Cmd和Getopt::Long这两个模块,从名字上我们就可以大致的猜出来,

前者是支持-v这样的短命令的形式,另外一个是支持长命令如--host 这样的形式。

       OK,下面说下使用,如果没安装这两个Module,请自行安装。(直接CPAN安装或者perl MAKE.PL)

       先说Getopt::Cmd的使用

       use Getopt::Std;

# -v ARG, -D ARG, -o ARG, sets $opt_v, $opt_D, $opt_o 

getopt("vDo");  

# -v ARG, -D ARG, -o ARG, sets $args{v}, $args{D}, $args{o}  

getopt("vDo", \%args);getopts("vDo:"); # -v, -D, -o ARG, sets $opt_v, $opt_D, $opt_o

  getopts("vDo:", \%args); # -v, -D, -o ARG, sets $args{v}, $args{D}, $args{o}

很简单,相信看后面的注释都能看出来。

再说Getopt::Long 

use Getopt::Long;

GetOptions( "extract" => \$extract, "file=s" => \$file );  

if ($extract) {  

print "I'm extracting.\n";

}

die "I wish I had a file" unless defined $file;

print "Working on the file $file\n";

将--extract和--file的值分别保存在$extract和$file中。然后我们就可以进行其他操作了,至于你要问file=s中,哪个s是干啥的,

s其实就是说明那是个字符串,更详细的说明看下表

转载于:https://www.cnblogs.com/edwinaclau/archive/2012/08/01/2619087.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值