@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 はオブジェクト。