• Save
Yokohama.pm #1 Email::Address::Loose / Email::Address::JP::Mobile
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Yokohama.pm #1 Email::Address::Loose / Email::Address::JP::Mobile

  • 5,500 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • メアドを探すという話題で、忘れてましたが Email::Find というのもあります。
    返すのは Mail::Address オブジェクトになりますが、サブクラスを作って
    Looseな探索をすることも可能です。

    http://search.cpan.org/perldoc?Email::Find
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads

Views

Total Views
5,500
On Slideshare
5,497
From Embeds
3
Number of Embeds
1

Actions

Shares
Downloads
3
Comments
1
Likes
0

Embeds 3

http://www.slideshare.net 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Email::Address::Loose Email::Address::JP::Mobile 株式会社モードツー 冨田 尚樹 ( tomi-ru ) http://e8y.net/ Yokohama.pm テクニカルトーク #1 2008/6/27
  • 2.  
  • 3. MobileCat というのを始めました
    • Catalyst を中心に、
    • CPAN モジュールを組み 合わせてモバイルの課題を 解決するサンプル & サイト
    • ないものは作る( Cat 外で使えるような)
    • 作りかけで放置していたものや
    • 前社内で作ったやつを切り出す
  • 4. ここでやっています
    • http://mobilecat.koneta.org/
    • http://coderepos.org/share/browser/websites/mobilecat/
    • #mobilejp
    • http://mobilehacker.g.hatena.ne.jp/
  • 5. ご意見・ご参加大歓迎
    • なるべく楽をしてサイトを作りたい開発者の一人に過ぎません ><
    • うちではここでこの処理入れてますよ
    • こうするといい感じです
    • とかとか
  • 6. 欲しくて作ったモジュールの中から
    • Email::Address::Loose
    • Email::Address::JP::Mobile
  • 7. の紹介
    • 本日 coderepos に UP しました
    • pep に声かけたのちに、 CPAN に UP 予定
  • 8. (1) Email::Address::Loose
    • - Make Email::Address->parse() loose
    • http://coderepos.org/share/browser/lang/perl/Email-Address-Loose/
  • 9. Email::Address の Loose 版
    • Email::Address は、 URL に対する URI.pm みたいなメールアドレスのオブジェクト
    • テキスト内からメールを探し Email::Address オブジェクトのリストで返す
    use utf8; my $to = ' &quot; 冨田 &quot; <tomita@cpan.org>, aa@example.net&quot;'; use Email::Address; my ($address) = Email::Addrss->parse($to); $address->name; # x{51A8}x{7530} $addrsss->user; # tomita $address->address; # tomita@cpan.org
  • 10. <!> [email_address] [email_address] foo..bar@docomo.ne.jp
  • 11. それ Email::Valid::Loose でできるよ
    • miyagawa さん作
    • 受け取ったものが一つのアドレスとして Valid かどうかチェックするモジュール Email::Valid の Loose 版。
    • フォームの検証とか
    use Email::Valid::Loose; $to = '--ee--..@ezweb.ne.jp'; Email::Valid::Loose->address($to); # OK $to = 'Tomi <--ee--..@ezweb.ne.jp>'; Email::Valid::Loose->address($to); # NG
  • 12.
    • 正規表現が our なので探すのにも使えます
    use Email::Valid::Loose; my $to = 'Tomi <--ee--..@ezweb.ne.jp>'; my ( $ address) = $to =~ /( $Email::Valid::Loose::Addr_spec_re )/g;
  • 13. Email::Address::Loose をつかうと use Email::Address; my $to = 'foo <-e-_..a-@ezweb.ne.jp>'; my ($email) = Email::Address->parse($to); $email ; # Email::Address では undef だけど
  • 14. こうかけて、
    • isa Email::Adderss
    use Email::Address::Loose; my $to = 'foo <-e-_..a-@ezweb.ne.jp>'; my ($address) = Email::Address::Loose->parse($to) ; $address->address; # -e-_..a-@ezweb.ne.jp $address->user; # -e-_..a-
  • 15. XML::Liberal な機能 use Email::Address; use Email::Address::Loose -override; my $to = 'foo <-e-_..a-@ezweb.ne.jp>'; my ($address) = Email::Address->parse($to); $address->address; # -e-_..a-@ezweb.ne.jp $address->user; # -e-_..a-
  • 16. (2) Email::Address::JP::Mobile
    • Extends Email::Address for Japanese cellphone
    • http://coderepos.org/share/browser/lang/perl/Email-Address-JP-Mobile/
  • 17. HTTP::MobileAgent のメール版 use Email::Address; my $to = 'docomo.taro@docomo.ne.jp'; my ($email) = Email::Address->parse($to); $email->address; # docomo.taro@docomo.ne.jp
  • 18. use Email::Address; use Email::Address::JP::Mobile; my $to = 'docomo.taro@docomo.ne.jp'; my ($email) = Email::Address->parse($to); $email->address; # docomo.taro@docomo.ne.jp $email ->is_docomo ; # 1 $email ->is_mobile ; # 1
  • 19. それ Mail::Address::MobileJp でできるよ
    • miyagawa さん作
    use Mail::Address::MobileJp; my $to = 'softbank.taro@softbank.ne.jp'; is_mobile($to); # 1 is_imode($to); # 0
  • 20. しかし
    • is_ 系だけじゃないのも生やしまくり
    use Email::Address; use Email::Address::JP::Mobile; my $to = 'softbank.taro@softbank.ne.jp'; my ($email) = Email::Address->parse($to); $email->carrier_name; # Thirdforce $email->carrier_name_aka; # Vodafone $email->encoding_name; # x-utf8-softbank $email->is_willcom; # 0
  • 21. 実はこっちを先に作った
    • Email::Address::Loose 要る
    use Email::Address; use Email::Address::Loose -override; use Email::Address::JP::Mobile; my $to = 'foo <-e-_..a-@ezweb.ne.jp>' ; my ($address) = Email::Address->parse($to); $address->address; # -e-_..a-@ezweb.ne.jp $address->is_kddi; # 1
  • 22. ありがとうございました
    • Email::Address::Loose
    • Email::Addrsss::JP::Mobile
  • 23. MobileCat やりながら他に
    • HTML::MobileJp::Filter
    • Catalyst::Plugin:: Unicode::Encoding::JP::Mobile
    • Catalyst::View::MobileJpFilter
    • Qpsmtpd::Plugin::Queue::Adapter
    • Email::Abstract::QpsmtpdTransaction
    • Email::MIME + ?