perl

アルギ

そうか、次は Perl か。じゃあアソコか。最近、Rubyist に Perl が人気ですね(思い込み)。あれだ、Perl は既にエコ(経済)システムが整ってるから。Ruby はこれから。もう始まってるがな!

Class::DBI

アイター! マニュアルが2つあった。しかもメチャメチャ改訂されてる! もちろん古い方を見てた。 http://perldoc.jp/docs/modules/Class-DBI-0.94/lib/Class/DBI.pod http://perldoc.jp/docs/modules/Class-DBI-0.96/lib/Class/DBI.pod 「多対多」もしっか…

Class::DBI(CDBI)で多対多(many_to_many)

なんかググっても全然良い例に出会えないの。誰も使ってないか、誰も嵌らないかどちらかだ。 半日つぶした。many_to_many が早くできて欲しいね。 テーブルはこんな感じだとする。(code がイけてねぇ〜。中間テーブルぐらい id 入れれば良かった…) CREATE TA…

CPAN, pod

CPAN は、ほぼ全て(義務かな?)のモジュールに統一されたフォーマットでドキュメントが付いてるのが嬉しいな。特に SYNOPSIS のサンプルコード。ライブラリのファイルを開いて SYNOPSIS を検索すれば大体わかるっつーのが嬉しすぎる。CPAN をうろついてダウ…

Test::More - プログラミング中に湧くアイデアを書き留める

「Test::More - LazyLoadLife」について、角谷さんに「詳しく」と希望されたのだがうまく書けない。ので、まずいまま書く。ここらへんを突き詰め体系化すれば、プログラミングスタイルに小さい変革を起こすことができると思うのだが、私には荷が重い。まぁ、…

MFPM

Perl のライブラリのメモに便利そうなので MFPM のログインアカウントを作ろうとしたのだがうまく作れない。 登録確認メールに記載してある URL を開くことが最終ステップなのだが、 ※エラー URLが不正です。 メールに記載されているURLを確認してください。…

Test::More

Catalyst の採用しているテスティングフレームワークが Test::More で吃驚した。Test::Unit がメジャーだと思っていて、今までこっちしか使ってなかったんですよ。Perl リテラシーが足りない。 んで、勉強したんだが、ここに書こうと思っていた BDD と絡めた…

属性

仕事で Catalyst を使おうと思っています。(ってゴロタンに言ったら「帰れ」言われた…) 「はじめてのCatalyst」をみながらやってるわけですが、最初のサンプルコードはご多分に漏れず HelloWorld : sub hello : Global { my ($self, $context) = @_; $conte…

フレームワーク選定

仕事であるウェブアプリ(Perl CGI)をリヌーアルするんだけど、Rails 使うか Catalyst 使うか悩んでいる。Rails だと 他部署に Ruby インストール依頼から始めないといけないので(あと Ruby でも保守できると説得しなければならない)、Catalyst になりそう。…

CPAN 10周年

今更だが、CPAN の読み方は「クペイン」がカッコイイと思う。『ザ・ベスト・オブ・ワイルドハーツ』の Disc2 6曲目 "29 X The Pain"(「トゥエンティナイン・ターン・ザ・ペイン」と読む)みたいだから。 Nirvana のカート・コバーンが歌詞の中にに出てくるの…

combination 2

15日 の続きメモるの忘れてた。 忘れるし。結局、combination(["A","B","C"]); で [ [ [0,"A"],[1,"B"] ], [ [0,"A"],[2,"C"] ], [ [1,"B"],[2,"C"] ] ] を得るように。別の sub で [ [0,1],[0,2],[1,2] ] 作って、zip 使った方がよかったな。 # 配列から全…

ID聞け 最新コンビネーション

sub combination { my $ary = shift; my $con = shift || []; my $first = shift @$ary; foreach my $e (@$ary) { push(@$con, [$first, $e]); } combination($ary, $con) if (scalar(@$ary)); return $con; } ["A","B","C"] を与えたら、[ ["A","B"], ["A",…