Successfully reported this slideshow.
Your SlideShare is downloading. ×

Perlでつくったものとか

Ad

OKINAWA.PM
Perl でつくったものとか

Ad

自己紹介?
清水隆博(アナグラ:@AnaTofuZ)
情報な2年
最近はシステムコールとかプロセスとか
AmazoDushButtonで遊んでます
出来ればHTML,OnsenUI♨とかをしようと思ってます

Ad

去年作ったもの

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 27 Ad
1 of 27 Ad

More Related Content

Perlでつくったものとか

  1. 1. OKINAWA.PM Perl でつくったものとか
  2. 2. 自己紹介? 清水隆博(アナグラ:@AnaTofuZ) 情報な2年 最近はシステムコールとかプロセスとか AmazoDushButtonで遊んでます 出来ればHTML,OnsenUI♨とかをしようと思ってます
  3. 3. 去年作ったもの
  4. 4. PaizaとかAtcoderとか初めてのPerlの練習問題くらい…
  5. 5. 言い訳 いや去年始めたばっかだから…(震え声)
  6. 6. やってみたこと Perl入学式 言語処理100本ノック(最初の部分) 初めてのPerl Acmeモジュールで遊ぶ Amon2を入れようとしてplenvで詰む DBのクエリ測定用スクリプトの作成
  7. 7. UTF-8で凹む 日本語をsplitする時の処理でまさかの内部コードに変換 ちょっと調べてみた
  8. 8. USE UTF8 なんとなくutf-8使うなら書くんじゃね? と思っていたプ ラグマ コードがutf8に書かれてる事を伝えるらい これを使った上で文字列リテラルを使うと内部表現にな る 内部表現はLatin-1の文字コード(Perl当初の文字コード?) であるので化ける
  9. 9. 詳しく良く解ってないので教えてくださいm(__)m -> また本日悩まされた
  10. 10. PLENV
  11. 11. sudoダメ,ゼッタイ.
  12. 12. やってみたいこと Acmeモジュールの作成 APIの作成 CUIbassのTwitterクライアント作成 ->今作った!!
  13. 13. PERLTWITTERCLIENT作成 とりあえずググる
  14. 14. PERLTWITTERCLIENT作成 Net::Twitterが使えそう
  15. 15. 作ったコード #!/usr/bin/env perl use strict; use warnings; use utf8; use Encode; binmode STDOUT,":utf8"; use Net::Twitter; my $consumerKey = ; my $consumerSecret = ""; my $accessToken = ""; my $accessTokenSecret = ""; my $nt = Net::Twitter ->new({ traits => [qw/OAuth API::RESTv1_1/], consumer_key => $consumerKey,
  16. 16. 製作時間20分(サンプルがあったので)
  17. 17. 最初のエラー すると Conflict detected: Role Net::Twitter::Role::API::Search excludes role 'Net::Twitt Class::MOP::Class::create_anon_class('Moose::Meta::Class=HASH(0x7fa79926c980) Net::Twitter::_create_anon_class('ARRAY(0x7fa79bce6218)', 'ARRAY(0x7fa79b Net::Twitter::new('Net::Twitter', 'HASH(0x7fa798829158)') called at p どうもcon ict起きてるらしい
  18. 18. 変更してツイート ツイートする箇所はこの様な感じ while (<STDIN>) { chomp; &tweet($_); } sub tweet { my ($msg) = @_; my $ret = $nt->update({status=>$msg}); print "Cannot post!!" unless $ret; }
  19. 19. ツイート
  20. 20. 日本語でツイート
  21. 21. UTF-8!!!!
  22. 22. デコードするように変更 use Encode; sub tweet { my ($msg) = @_; $msg = decode_utf8($msg); <- 追加!! my $ret = $nt->update({status=>$msg}); print "Cannot post!!" unless $ret; }
  23. 23. ツイートしてみる
  24. 24. MENTIONを取得もできたsub replay { my $res = $nt->mentions(); for my $mention (@$res){ my $mentionText = $mention->{text}; my $mentionUser = $mention->{user}->{screen_name}; my $mentionID = $mention->{user}->{name}; printf(" %s %s %s n",$mentionID,$mentionUser,$mentionText); } }
  25. 25. 調べてみてわからなかったこと GETリクエストとかのAPI作成の知識(そもそもAPIと は…?) 最新のPerlの書き方(ファイルハンドルはレキシカル変数 にした方がいいとか) 正規表現 UTF-8 (相変わらず)
  26. 26. おわり

×