Dav*_*d B 0 perl parsing arguments
我想传递一个perl程序一组参数和标志,例如 my_script.pl --flag1 --arg1=value --flag2 …
有没有办法快速将所有这些转换为一些标准结构(哈希)而不是解析?
谢谢,戴夫
你应该使用Getopt :: Long
样品:
linux-t77m:/home/vinko # more opt.pl
use Getopt::Long;
my $arg1 = 'default_value';
GetOptions('flag1' => \$flag1, 'arg1=s' => \$arg1, 'flag2' => \$flag2);
print "FLAG1: ".$flag1." ARG1: ".$arg1." FLAG2: ".$flag2."\n\n";
linux-t77m:/home/vinko # perl opt.pl --flag2 --arg1=stack
FLAG1: ARG1: stack FLAG2: 1
linux-t77m:/home/vinko # perl opt.pl --flag1 --flag2
FLAG1: 1 ARG1: default_value FLAG2: 1
Run Code Online (Sandbox Code Playgroud)