Howdieperl从文件中读取正则表达式
我已经将我使用最多的所有正则表达式归类为库文件。举一个虚拟的例子,我有一个叫做/mysdk/library/regex/email/match
与文件的内容:
^[a-z]@[a-z]\.com$
(我知道这是不好的正则表达式,但是这对于例如:))。而且我有很多与常用的正则表达式的文件夹:
/library
/regex
/email
/url
/social_security
...
现在我正在做一个Perl脚本,会告诉我,如果给定的字符串从我的图书馆给定的正则表达式匹配。例如,
perl my-script.pl email [email protected]
而脚本应该在false上打印0,在true上打印1。但它不工作:(这是我的脚本:
if($ARGV[1])
{
if(open(REGEX_CONSTANT,"/mysdk/library/regex/$ARGV[0]/match"))
{
$regex_constant=<REGEX_CONSTANT>;
close(REGEX_CONSTANT);
if($ARGV[1] =~ m/$regex_constant/) { print 1; exit }
}
print 0
}
else
{
print 0
}
我也试过
if($ARGV[1] =~ m/($regex_constant)/) { print 1; exit }
即使字符串应该匹配,它打印0。我知道它找到的文件和成功读取它的内容,因为我已经调试过了。我做错了什么?
谢谢你,这是关系到尾随的新行! – francoisrv 2011-05-15 14:47:51