diff options
Diffstat (limited to 'lib/Fripost/Schema/Misc.pm')
-rw-r--r-- | lib/Fripost/Schema/Misc.pm | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Fripost/Schema/Misc.pm b/lib/Fripost/Schema/Misc.pm index 4898764..39fa3b7 100644 --- a/lib/Fripost/Schema/Misc.pm +++ b/lib/Fripost/Schema/Misc.pm @@ -10,11 +10,14 @@ use 5.010_000; use strict; use warnings; use utf8; +use feature "unicode_strings"; use Exporter 'import'; our @EXPORT_OK = qw /concat get_perms explode must_attrs email_valid/; use Email::Valid; +use Net::IDN::Encode; +use Encode; # Let the first argument, if defined, intersperse the other arguments. @@ -99,6 +102,8 @@ sub email_valid { $i =~ s/^[^<>]+\s<([^>]+)>/$1/; my $mesg = $options{'-error'} // "Invalid e-mail"; $in = $options{'-prefix'}.$i if defined $options{'-prefix'}; + Encode::_utf8_on($in); + $in = Net::IDN::Encode::email_to_ascii($in); my $addr = Email::Valid::->address( -address => $in, -tldcheck => 1, |