在Perl程序中获取选项
我在谷歌上搜索了一段时间,奇怪的是没有找到任何能回答我问题的东西 我想把-n作为一个选项传递给程序,其中n是一个整数 这就是我所拥有的:在Perl程序中获取选项,perl,command-line,arguments,Perl,Command Line,Arguments,我在谷歌上搜索了一段时间,奇怪的是没有找到任何能回答我问题的东西 我想把-n作为一个选项传递给程序,其中n是一个整数 这就是我所拥有的: if($ARGV[0] eq "-A_NUMBER") 是否有某种类型的通配符可以用于此?因此,对于任何负号后跟任何整数(或字符)的情况,该条件都为真。使用 if ($ARGV[0] =~ /^-\d/) 此正则表达式先匹配负号,然后匹配数字 “^”将匹配锚定到行的开头,“\d”是表示数字的转义字符 if ($ARGV[0] =~ /^-\d/) 此正则
if($ARGV[0] eq "-A_NUMBER")
是否有某种类型的通配符可以用于此?因此,对于任何负号后跟任何整数(或字符)的情况,该条件都为真。使用
if ($ARGV[0] =~ /^-\d/)
此正则表达式先匹配负号,然后匹配数字
“^”将匹配锚定到行的开头,“\d”是表示数字的转义字符
if ($ARGV[0] =~ /^-\d/)
此正则表达式先匹配负号,然后匹配数字
“^”将匹配锚定到行的开头,“\d”是一个转义字符,表示一个数字我建议读取该字符比仅检查@ARGV更冗长,但更稳健我建议读取该字符比仅检查@ARGV更冗长,但更稳健谢谢!这管用!^是否表示线锚的开始?这是如何工作的?它是一个正则表达式,匹配-后跟$ARGV[0]开头的一位数字。所以它将匹配-1,-2,-29,-2或树,但不是-2或-3。试着查找perl正则表达式很好,我已经更改了它来回答我自己的问题。thanks@TomTanner:
-\d
不匹配-29;)@mpe:正则表达式将匹配<代码>-29包含一个-
,后跟一个数字(\d
)。谢谢!这管用!^是否表示线锚的开始?这是如何工作的?它是一个正则表达式,匹配-后跟$ARGV[0]开头的一位数字。所以它将匹配-1,-2,-29,-2或树,但不是-2或-3。试着查找perl正则表达式很好,我已经更改了它来回答我自己的问题。thanks@TomTanner:-\d
不匹配-29;)@mpe:正则表达式将匹配<代码>-29包含一个-
,后跟一个数字(\d
)。。。。或者看看。但不要重新发明轮子,使用CPAN,使用经过良好测试和优化的模块。。。。或者看看。但不要重新发明轮子,使用CPAN,使用经过良好测试和优化的模块。