dan*_*nix 1 regex subdomain perl tld
我正在努力做标题所说的,我有这个:
sub getDomain {
my $scalarRef = shift;
my @from_domain = split(/\@/,$$scalarRef);
if($from_domain[1] =~ m/^.*?(\w+\.\w+)$/){
print "$from_domain[1] $1" if($username eq 'xxx');
return $1;
}
}
Run Code Online (Sandbox Code Playgroud)
返回domain.com的user@domain.com工作正常,但当然domain.co.uk将返回.co.uk,我需要domain.co.uk.关于如何继续这个的任何建议,我猜一个模块和一些建议某种tld查找表.
不要使用RegExp.
use Email::Address;
my ($addr) = Email::Address->parse('foo@domain.co.uk');
print "Domain: ".$addr->host."\n";
print "User: ".$addr->user."\n";
Run Code Online (Sandbox Code Playgroud)
打印:
Domain: domain.co.uk
User: foo
Run Code Online (Sandbox Code Playgroud)