Perl识别md5哈希并打印它

时间:2014-07-10 20:26:12

标签: regex perl hash

我的简单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

我不知道它有什么问题。

1 个答案:

答案 0 :(得分:4)

你不能用括号捕捉任何东西。

此外,在尝试使用捕获的组之前,检查正则表达式是否实际匹配是明智的。

if ($line =~ /([a-z0-9]{32})/i) {
    print $1, "\n";
}