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