Perl でドメイン名でメールアドレスを並び替える方法

Perlでメールアドレスのリストをドメイン名で並び替える方法を紹介します。

ドメイン名でメールアドレスを並び替えるメリット

多数の宛先にメールのBCC送信を行う場合は、ドメイン名ごとに送信先のリストが並んでいると通常は送信時の効率が向上します。

サンプルコード

@mail_sorted =
    map {$_->[0]}
    sort { $a->[1] cmp $b->[1] }
    map { m/\@(.*)/; [$_, $1]}
@mail_random;

# @mail_sorted がドメイン名で並び替えたアドレス。