学习新的技术:Node.js家园

 

一直想学习下Perl命令行选项的处理,今天花了点时间看了下,以下是多值命令选项的方法,使用了Getopt::Long模块。

比如你的命令行选项像下面这样,你将如何取得这些值呢?

command -opt 50 60 70

可以这样:

一:GetOptions("opt=i{3}"=>\@val);

解析:这里的i表示是×××(整数),{3}表示为三个,\@val,把这三个整数保存到val数组中。

use 5.10.0;

 GetOptions("opt=i{3}"=>\@val);
 say $val[1];
 say $val[1];
 say $val[2];

运行结果:

C:\Perl>option.pl -opt 50 60 70
60
60
70

相对的i{3}中的i,还有s(表示字符串),f(表示浮点数)等。

但是如果你不知道 -opt 后面到底会有多少个值时,就得用下面这样的方法:

 GetOptions("opt=i{,}"=>\@val);
 for(0..$#val){
    say $val[$_];
 }

如果你确定你要2到4个值,那么可以像下面这样:

 GetOptions("opt=i{2,4}"=>\@val);

 

先这样,有事中...