我试图搜索文本文件并找到有效的电子邮件地址.我做这样的事情:
#!/usr/bin/perl -w
my $infile = 'emails.txt';
open IN, "< $infile" or die "Can't open $infile : $!";
while( <IN> )
{
if ($infile =~ /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/)
{
print "Valid \n";
}
}
close IN;
Run Code Online (Sandbox Code Playgroud)
但它没有做任何事情,任何帮助?
jir*_*ira 11
您将电子邮件地址regexp与文件名匹配.无论如何,你不应该使用正则表达式来验证电子邮件地址 - 使用Email :: Valid
use strict;
use Email::Valid;
my $infile = 'emails.txt';
open my $in, "< $infile" or die "Can't open $infile : $!";
while(my $line = <$in> ) {
chomp $line;
if (Email::Valid->address($line)) {
print "Valid \n";
}
}
close $in;
Run Code Online (Sandbox Code Playgroud)