@kyanny's blog

流行はつねに前進していく。そして、精神の偽りの自由が絶えずせり上がっていく - ロマン・ロラン

Email::Address::Loose でメールアドレスを正規化する

"Kensuke Kaneko " みたいなのが混ざってるメールアドレスのリストからアドレスパートだけを抜き出したかったので Email::Address::Loose を使った。 Email::Address::Loose は Email::Address とほぼ同じで Email::Valid::Loose を使ってるだけ。

gist:128451 · GitHub

#!/usr/bin/env perl
use strict;
use Text::CSV_XS;
use Data::Dumper;
use Perl6::Say;
use Email::Address::Loose;

my $csv = Text::CSV_XS->new;

while (my $row = $csv->getline(*STDIN)) {
    my $line = $row->[0];
    my @addresses = Email::Address::Loose->parse($line);
    for my $address (@addresses) {
        say $address->address;
    }
}

$address はオブジェクト。