2009年10月15日
メールアドレスをドメイン毎に分けてソート
沢山のメールアドレスを、ドメイン毎にソートしたい場合の処理をPerlで書いてみた。
#!/usr/bin/perl -w use strict; use warnings; my @maddr_list = ( 'bbb@ezweb.ne.jp', 'aaa@yahoo.co.jp', 'bbb@yahoo.co.jp', 'ccc@gmail.com', 'bbb@softbank.ne.jp', 'ccc@yahoo.co.jp', 'aaa@docomo.ne.jp', 'aaa@softbank.ne.jp', 'ccc@docomo.ne.jp', 'bbb@gmail.com', 'ccc@softbank.ne.jp', 'bbb@docomo.ne.jp', 'ccc@ezweb.ne.jp', 'aaa@ezweb.ne.jp', 'aaa@gmail.com', ); my %hash = (); for my $address (@maddr_list) { my ($user, $domain) = $address =~ m!^(.+)@([^@]+)$!; if (!exists($hash{$domain})) { $hash{$domain} = []; } push(@{$hash{$domain}}, $address); } for my $domain (sort(keys(%hash))) { for my $address (sort(@{$hash{$domain}})) { printf("%s\n", $address); } }
結果はこうぢゃ。
aaa@docomo.ne.jp bbb@docomo.ne.jp ccc@docomo.ne.jp aaa@ezweb.ne.jp bbb@ezweb.ne.jp ccc@ezweb.ne.jp aaa@gmail.com bbb@gmail.com ccc@gmail.com aaa@softbank.ne.jp bbb@softbank.ne.jp ccc@softbank.ne.jp aaa@yahoo.co.jp bbb@yahoo.co.jp ccc@yahoo.co.jp
トラックバック - http://d.hatena.ne.jp/gosshujin/20091015/1255592043
リンク元
- 7 http://pipes.yahoo.com/pipes/pipe.info?_id=aj8hCPy13RGtsx651L3fcQ
- 3 http://b.hatena.ne.jp/kirikiris/favorite
- 2 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=Yak&q=SSL+post+取得できない au&btnG=検索&lr=lang_ja
- 2 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&hs=kMP&q=php+javascript+紊????&revid=1957682123&ei=Vw3XSovYJ5me6gOJl_ChCA&sa=X&oi=revisions_inline&resnum=0&ct=top-revision&cd=3&ved=0CAoQ4QIoAg
- 2 http://www.google.co.jp/search?hl=ja&rlz=1T4GGLL_jaJP313JP313&q=PHP+CSV+出力&btnG=検索&lr=
- 2 http://www.google.co.jp/search?hl=ja&source=hp&q=FOMAカード個体識別子+大文字小文字区別&lr=&btnG=Google+検索
- 2 http://www.google.co.jp/search?q=php+csv+出力&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rlz=1R1GGGL_ja___JP343&client=firefox-a
- 2 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4ADBR_jaJP288JP303&q=php+末日
- 1 http://b.hatena.ne.jp/entry/d.hatena.ne.jp/gosshujin/20091015/1255592043
- 1 http://blog.search.goo.ne.jp/search_goo/result/?MT=gmail ドメイン&IE=S-JIS&OE=EUC-JP&code=utf8
