Perlメモ
CHI勉強会でまとめたTogetterを分析するために、
Perlを使って必要な文字列を取得してみようの回
普段はJavaパッケージのjava.util.regexを乱用していたのでPerlは初です
まずはインストールからスタート
以下のURLから最新版をダウンロード
ActivePerl is Perl for Windows, Mac, Linux, AIX, HP-UX & Solaris | ActiveState
Perlと書かれたところをクリックして Active Perlをさらにクリック(黄色いとこ)
Active Perl をクリックすると、右上の方にFree Downloadと出てくるのでクリック
あとは、自分のPCに合ったインストーラーを選択する
私の場合は Perl 5.14.2 for Windows(64-bit,x64)をダウンロートしました
保存場所は"C:\Perl64"となりました(自動的にPerl64というフォルダーが作られたよ)
次にPATHの設定をする
インストール時に自動的に追加されてるかもしれないけど一応確認
スタート→コントロールパネル→システム→システムの詳細設定→環境変数
PATHを選択して編集ボタンをクリック
私の場合Active Perlを保存した場所が"C:\Perl64"なので、PATHを
;C:\Perl64\bin
というカンジに追加
今まで書いてたやつはいじっちゃいけません
一番後ろに付け出すだけでOK
とりあえず環境は整ったので、
Hello Worldします
Perlリファレンスを見ながら
愛用エディタを開き、
#!/Perl64/bin/perl print "Hello World";
と打ち込む
Perlの保存形式は.plなので、とりあえずファイル名をhello.plとでもしておきます
ファイルの保存先はC:\Perl64
コマンドプロンプトを開き、C:\Perl64へ移動
perl hello.pl と入力しEnterキーを ッターン!
出ました
これでようやくPerlデビュー
それでは早速togetterから必要な文字列をtextに出力します
こちらの記事を参考にさせていただきました
Togetter にまとめられた内容を TSV 化する Perl スクリプト - [ぴ](2011-03-27)
実行してみると、色々エラーはいたので調整
あとPerlでCSVファイルをつくってみることにしたので色々付け足した
foreach my $item_tree ($tree->look_down('class' => 'list_item')) { my $tweet = $item_tree->look_down('class', 'tweet')->as_text; my $date_usuer = $item_tree->look_down('class', 'status_right')->look_down('_tag', 'div')->as_text; print join("\t", "[qw/",$date_usuer,$tweet,"/],"), "\n"; }
よし、出てきた、けどちょっと困ったことが
正規表現でもっときっちり定義出来るのだろうけど、
togetterページの問題で時間と日付いっぺんに出てくるのがなんとももどかしい
デベロッパーツールを開いて確認
なるほどこういうことですか
腹が立つので時間があったらどうにかしたい
あと実行するとき、togetterにまとめたtweet数が多すぎてページが分割されるので
追記モードでくっつける必要があった
perl togetter2tsv.pl http://togetter.com/li/335253?page=2 >> chi2012fun.txt
Perl初めてやってみたけど、なんだかかわいい
$がなんともかわいらしい
Javaの正規表現はもうメタリックな銀色イメージだけど
Perlのイメージは、やっぱりホワイトかな!