Fully validating the email address is not necessary,
all that matters is not matching an url like http://foo@bar/
as an email address.
my $link_regexp;
-my $email_regexp = qr/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;
+my $email_regexp = qr/^.+@.+$/;
my $url_regexp = qr/^(?:[^:]+:\/\/|mailto:).*/i;
sub import {
my $pagetitle = shift;
# build pagetitle
- if (!($pagetitle)) {
+ if (! $pagetitle) {
$pagetitle = $url;
# use only the email address as title for mailto: urls
if ($pagetitle =~ /^mailto:.*/) {
}
}
- # handle email-addresses (without mailto:):
- if ($url =~ /$email_regexp/) {
+ if ($url !~ /$url_regexp/) {
+ # handle email addresses (without mailto:)
$url = "mailto:" . $url;
}