perl

Lionアップデート後にcpanmでエラー

自分用メモ。 This distribution requires a C compiler, but it's not available, stopped.とか /usr/bin/gcc-4.2 -c -pipe -O2 -arch x86_64 -fno-common -DPERL_DARWIN -I/opt/local/include -no-cpp-precomp -fno-strict-aliasing -I/opt/local/include …

WEB+DB PRESS Vol.61のPerl Hacker Hub 第7回 「新人さんのための仕事で使えるPerl基礎知識」を寄稿しました

2011/2/24より技術評論社さんから発売される、WEB+DB PRESS Vol.61のPerlリレー連載のPerl Hacker Hub第7回、「新人さんのための仕事で使えるPerl基礎知識」を寄稿しました。 ざっくり内容 前半はPerlの世界でデファクトスタンダーとになりつつある最新の環…

AKB48のメンバー情報を取得するスクリプト

WEB::Scraperを使い、各チームのメンバーの一覧の名前、写真、詳細ページURLが取ってみました。 Acme::AKB48みたいに、リンクをたどって常に最新データを動的に作れるようになれるようにしたいなと思います。 2010年の年末から研究生が昇格して56人なんです…

ポンパレードの1,000,000枚限定チケットが何枚売れているかチェックするスクリプト

あえてAPIじゃなくてxmlでもなくてスクレイピングしてみる。 と言っても、Web::Scraperのコマンドラインツールから生成されたものなのでprocess文しか書いていません。 #!/opt/local/bin/perl use strict; use Web::Scraper; use URI; my $uri = URI->new("h…

YAPC::Asia2010で発表させて頂きました

YAPC::Asia2010で発表させていただきました。YouTubeで動画アップされているので見ることができます。結構スピリチュアル系な発表だったんですが、想像以上に多くの方に見ていただけたのですごく嬉しかったです。個人的にはPerlで仕事をするといいことがあっ…

JPA PRESS#5に寄稿しました

Perl Casual#2のオフレポートです。下記から公開していますのでぜひご覧になってください><http://japan.perlassociation.org/static/jpapress/jpapress_005.pdf

Perl Casual #02でVimについてお話しさせて頂きました

先日2010/4/21に行われました「Perl Casual #02 - 春のPerlフレッシュマンアワー」でVimについて20分間お話させて頂きました。初心者向けの勉強会っていうことで、全然Vimをしらない人に知ってもらおうということで構成も自分なりに考えて作りました。こんな…

Twitterで@uranaibotというのを作ってた話

以前、紫色の人が作っためざまし占いカウントダウンからスクレイピングする方法を知りランキングを平日の9:00にpostするTwitter-Bot、@uranaibotを作って運用しています。 これは2009/04/20、ちょうど1年前に社内プレゼン用にさくっと作っただけでした。地味…

美男(びなん)時計の画像をダウンロードするスクリプト

11/1に公開されたようなのでリハビリがてら書いてみたよ。トップページにいる9:36〜9:39の彼はオトメンの岡田将生くんに似ててかっこいい。あと0:15と21:55もかっこいい。おもしろいけど正直イケメンなのかお洒落なだけなのかよくわかりませんでした:-)

Graph::EasyとGraphvizでステキなグラフを作ってみる

Graph::EasyはASCII, HTML, SVG *1での出力が可能なグラフに変換し描画してくれるモジュールです。 ASCIIでの出力 +------+ +-------+ | AAA | --> | BBB | +------+ +-------+ +------+ +-------+ | test | --> | test2 | +------+ +-------+ #!/usr/bin/pe…

今日のおうっふ的ワンライナー

ある人に、「なんでおうっふー\(^o^)/を流行らせないの?」と言われたのでブログに書いてみました。via: おうっふとは - はてなキーワード 標準入力の文字に対しておうっふナイズするワンライナー perl -e "while(<>){s/./おうっふー/g;print} " 実行サン…

DBIx::Classで left outer joinする

-join_typeオプションに'inner|left|right'を渡してあげる。忘れないようにとっても私的メモ。 my $schema = SchemaLoader->connect('...'); $schema->resultset('Members')->search({ 'del_flag' => { '=', 0 }, }, { from => [ { me => 'members'}, [ { ph…

Devel::NYTProfでコードのプロファイリング

Shibuya.pm#11でclkaoさんが紹介されていたDevel::NYTProfモジュールを初めて知り、早速試したところ とっても結果が美しくて便利だったのでメモメモ。 開発がひととおりすんだが、なぜか速度がでない。そんなときにはプロファイラの出番です。 Devel::NYTPr…

Perlで役に立つOpen Books

英語版Perldoc http://perldoc.perl.org/perl.html 日本語翻訳版Perldoc http://perldoc.jp/docs/ オライリーさんがオープンにできるドキュメントをCreative Commonsライセンスで公開されています。初版だったりしますが、英語が好きな方はチェックしてみて…

モールス信号に変換してくれるCPANモジュール

モールス系CPANモジュール一覧 http://search.cpan.org/search?query=Morse&mode=moduleAcme::MorseとConvert::MorseとText::MorseなどがあったけどAcme::Morseで。morse.pl #!/usr/bin/perl use strict; use warnings; use Acme::Morse; print "A-C-M-E\n";…

DBIx::Class::SchemaとDBIx::Class::Schema::Loader

DBIx::Class::SchemaとDBIx::Class::Schema::Loader両方を試してみた。 DBIx::Classは、SQL文を書かずにresultset()を使ってゴニョゴニョできるのがすばらしい!! 今回登場するファイルの場所はこんな感じ。 /root | |---Schema.pm # DBIx::Class::Schema |…

CGI::ApplicationとCGI::Application::Plugin::TTでPOSTパラメータにアクセスする

CGI::ApplicationでPOSTで受け取ったパラメータを、TTで表示させる時にモタモタしたのでメモ。 CGI::Application::Plugin::TTはtt_process()というメソッドを使って出力させる。 Hoge::App.pm package Hoge::App; use strict; use base qw (CGI::Application…

CGI::Application::DispatchとCGI::Application::Plugin::TTを使ってみた

CGI.pmをベースとしたCGIアプリケーションを作成するためのフレームワークのCGI::Application::Dispatch。 ディスパッチ処理 http://example.com/app.cgi/index/ http://example.com/app.cgi/hoge/search/ など、URIによって処理を変える事ができる。 Perldo…

Devel::FindNamespacesがとっても便利

Devel::FindNamespacesとは あるモジュールがどんなモジュールを読み込んでいるのかを、名前空間の増分をチェックすることで調べようというモジュール。Author: Devel::FindNamespaces - Charsbar::Note Devel::FindNamespacesをインストール svn co http://…

Perlコミュニティを活性化させるためのアイディア

これから日本のIT業界にもっとPerlという言語を普及させて、盛り上げようぜ!的な動きが大きな形となりそうです。lestrratさんこと株式会社エンデワークス代表の牧大輔氏が発起人となり、TPF-J(The Perl Foundation Japan)*1発足の為事前のミーティングに2度…

Request PAUSE accountでCPAN AUTHORになる為の申請が承認されました!

Request PAUSE accountでCPAN AUTHORになる為の申請をする - 2回目 - iDeaList::Writingのエントリー以来、welcomeメールを毎日寝ずに待ち続けてました。(←大ウソ) 一説にはアコティという人のSPAM審議の為*1に、PAUSE運営側がイラっとして業務を放棄した*2…

Request PAUSE accountでCPAN AUTHORになる為の申請をする - 2回目

前回は当然のごとくスルーされたので懲りずに申請してみた。10/25(土)の夜にPAUSE申請したら、私の1つ前でちょうど承認が止まってる件。http://www.nntp.perl.org/group/perl.modules/ 今回もid:yappoさんに協力してもらったよ!バッチリです!!生殺しです…

WWW::Mechanizeのmech-dump

http://digit.que.ne.jp/visit/index.cgi?2003%c7%af12%b7%ee#i7のエントリーを読んで衝撃を受けた。WWW::Mechanizeに同梱されているmech-dumpで、フォームの調査が簡単にできてしまう。mech-dumpなんてコマンドあったんですね、便利すぎてびっくりした!! …

最新版のMoxyをMacBookにインストールするまで

最新版Moxyをチェックアウトする(2008/10/02現在) svn co http://svn.coderepos.org/share/lang/perl/Moxy/trunk/ moxy cd moxy perl Makefile.PL Warning: prerequisite HTML::Entities::ImodePictogram 0 not found. Warning: prerequisite HTML::StickyQu…

Class::ComponentとTemplate-Toolkitを使ったプラグイン書いてみた

Class::Componentを使って、プラグインとしてyamlファイルから読み込み→表示まで作れた。 Class::Componentって何かというと、 Class::Componentは、 Plagger,Catalyst,DBICのプラガブルなところだけ盗んで Class::Accessorみたく他から利用出来るようにした…

Request PAUSE accountでCPAN AUTHORになる為の申請をする

[Perl] 作成したモジュールをCPANで公開する手順のエントリーとid:yappoさんのアドバイスの元、無事に申請することができました。数日後に申請結果がでるかもしれないとのことです。一番大切な最後の項目の内容にひどいネタ的なことを書いてしまったので、す…

Yokohama.pm#2でLTをさせて頂きました。

Yokohama.pm テクニカルトーク #2 を開催します → 参加募集終了 - Yokohama Perl Mongershttp://yokohama.pm.org/wiki/index.cgi?Conference2はじめに「acotieちゃんのドキドキPerlプログラミング」っていうタイトルは私が考えた訳ではありません(笑)自分で…

Text::FIGletを使ってI love Perlと叫んでみるテスト

デフォルトのフォントディレクトリが/usr/games/lib/figletになってるので new()時に-dのオプションで変えてあげる必要があります。 figlet.pl #!/usr/bin/perl use strict; use warnings; use Text::FIGlet; my $font = Text::FIGlet->new( -d => "./fonts"…

Image::ObjectDetectを使った顔認識プログラム

Perl版のOpenCV、Image::ObjectDetectを使った顔認識を試してみました。まずは顔にエフェクトをかけてプライバシーを守るWebサービスの作り方を参考にMacPorts用にパスを変えて、 ffmpeg・OpenCVのインストール CPANモジュール Imagerインストール Image::Ob…

芸能ランキングからTOP10のリンクとタイトルだけスクレイピング

いくつかfeed購読している芸能ネタの芸能人 | エンターテインメント - 人気ブログランキングから TOP10のリンク先タイトル TOP10のリンク先URL を取得。リンク先textのタグ全体は process '//tr[@class="d1"]/td[@class="d2"]/a[@class="best10"]' リンク先t…