Is het geldig, en zal het werken? Als u ergens in uw Perl-scripts en -programma’s e-mailadressen verzamelt of gebruikt, verzamelt u mogelijk veel adressen die niet werken. De een kan een letter missen in de domeinnaam, de ander kan een niet-toegestaan karakter hebben. Wat de reden voor de ongeldigheid ook is, u wilt het gebroken adres opvangen – om de gebruiker te vragen misschien opnieuw in te voeren, of om te voorkomen dat u een e-mail verzendt die zeker nergens heen gaat. In Perl kun je natuurlijk een ingewikkelde reguliere expressie verzinnen; of je wendt je tot een handige module die er al een heeft ingebouwd en die ook domeinnamen kan controleren.
Valideer e-mailadressen met Perl
Om e-mailadressen te controleren op goedgevormdheid en geldigheid in een Perl-script of -programma:
- Bouw e-mailvalidatie in de HTML-code in als u gebruikers e-mailadressen laat typen in een webformulier.
- Gebruik Email::Valid->address(”) uit de Email::Valid CPAN Perl module; zie hieronder voor details, installatie en voorbeelden.
E-mail::Voorbeelden van geldige e-mailadresvalidatie
U kunt Email::Geldig laten controleren op geldige topleveldomeinen (zorg ervoor dat “.com”, “.net”, “.cn” of een andere geldige domeinnaam helemaal aan het einde van het e-mailadres staat). Zorg ervoor dat de Net::Domain::TLD-module is geïnstalleerd.
Installeer de e-mail::geldige Perl-module
Om uw Perl-installatie uit te rusten met de Email::Geldige module voor het valideren van de juistheid van e-mailadressen:
- Open een opdrachtprompt.
- Open onder Mac en Linux de Terminal-applicatie, bijvoorbeeld:
- Typ sudo perl -MCPAN -e ‘installeer e-mail::geldig’
(Mac en Linux) of perl -MCPAN -e ‘install Email::Geldig’
- Typ sudo perl -MCPAN -e ‘installeer e-mail::geldig’
- Open onder Mac en Linux de Terminal-applicatie, bijvoorbeeld:
- druk op Binnenkomen.
- Voer het supergebruikerswachtwoord in en druk op Binnenkomen als daarom wordt gevraagd.
- Op de vraag “Wilt u dat ik zoveel mogelijk automatisch configureer?”, kiest u Ja.
- Als u wordt gevraagd “Is het OK om te proberen verbinding te maken met internet?”, voer dan in Ja ook.