我的简单perl脚本有问题:
open IN, "<file1.txt" or die print "can't open file!";
while($line = <IN>){
$line =~ /[a-z0-9]{32}/i;
my $substr = $1;
print $substr;
}
它必须在文件中识别md5哈希值,每行一个,然后打印它,但它不能正常工作,它什么都不打印,或者如果我修改了它给了我输出
11111111111111111111111111111111111111111111111111
我不知道它有什么问题。
答案 0 :(得分:4)
你不能用括号捕捉任何东西。
此外,在尝试使用捕获的组之前,检查正则表达式是否实际匹配是明智的。
if ($line =~ /([a-z0-9]{32})/i) {
print $1, "\n";
}