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

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

on

  • 5,435 views

 

Statistics

Views

Total Views
5,435
Views on SlideShare
5,432
Embed Views
3

Actions

Likes
0
Downloads
3
Comments
1

1 Embed 3

http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

    http://search.cpan.org/perldoc?Email::Find
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • Email::Address::Loose Email::Address::JP::Mobile 株式会社モードツー 冨田 尚樹 ( tomi-ru ) http://e8y.net/ Yokohama.pm テクニカルトーク #1 2008/6/27
  •  
  • MobileCat というのを始めました
    • Catalyst を中心に、
    • CPAN モジュールを組み 合わせてモバイルの課題を 解決するサンプル & サイト
    • ないものは作る( Cat 外で使えるような)
    • 作りかけで放置していたものや
    • 前社内で作ったやつを切り出す
  • ここでやっています
    • http://mobilecat.koneta.org/
    • http://coderepos.org/share/browser/websites/mobilecat/
    • #mobilejp
    • http://mobilehacker.g.hatena.ne.jp/
  • ご意見・ご参加大歓迎
    • なるべく楽をしてサイトを作りたい開発者の一人に過ぎません ><
    • うちではここでこの処理入れてますよ
    • こうするといい感じです
    • とかとか
  • 欲しくて作ったモジュールの中から
    • Email::Address::Loose
    • Email::Address::JP::Mobile
  • の紹介
    • 本日 coderepos に UP しました
    • pep に声かけたのちに、 CPAN に UP 予定
  • (1) Email::Address::Loose
    • - Make Email::Address->parse() loose
    • http://coderepos.org/share/browser/lang/perl/Email-Address-Loose/
  • 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
  • <!> [email_address] [email_address] foo..bar@docomo.ne.jp
  • それ 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
    • 正規表現が our なので探すのにも使えます
    use Email::Valid::Loose; my $to = 'Tomi <--ee--..@ezweb.ne.jp>'; my ( $ address) = $to =~ /( $Email::Valid::Loose::Addr_spec_re )/g;
  • Email::Address::Loose をつかうと use Email::Address; my $to = 'foo <-e-_..a-@ezweb.ne.jp>'; my ($email) = Email::Address->parse($to); $email ; # Email::Address では undef だけど
  • こうかけて、
    • 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-
  • 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-
  • (2) Email::Address::JP::Mobile
    • Extends Email::Address for Japanese cellphone
    • http://coderepos.org/share/browser/lang/perl/Email-Address-JP-Mobile/
  • 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
  • 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
  • それ Mail::Address::MobileJp でできるよ
    • miyagawa さん作
    use Mail::Address::MobileJp; my $to = 'softbank.taro@softbank.ne.jp'; is_mobile($to); # 1 is_imode($to); # 0
  • しかし
    • 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
  • 実はこっちを先に作った
    • 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
  • ありがとうございました
    • Email::Address::Loose
    • Email::Addrsss::JP::Mobile
  • MobileCat やりながら他に
    • HTML::MobileJp::Filter
    • Catalyst::Plugin:: Unicode::Encoding::JP::Mobile
    • Catalyst::View::MobileJpFilter
    • Qpsmtpd::Plugin::Queue::Adapter
    • Email::Abstract::QpsmtpdTransaction
    • Email::MIME + ?