2009-05-01から1ヶ月間の記事一覧

Catalyst ベースのアプリケーション設計(構想)

Catalyst は Web アプリケーションを開発するときに、フレームワークとしてとても便利です。ひとつの Web サービスを作ろうとすると、以下のような様々な処理が必要になってきます。 ユーザーに見せるWeb インターフェイス アクセス集計などの日次バッチ処理…

YAML ではどう書くか perl に教えてもらう方法

設定ファイルを書くときに、単純なハッシュやリストのときは良いのですが、データ構造が複雑になってきたときは、ちょっとややこしくなってきます。そんなときは、YAML::Dump() に教えてもらえます。

三項演算子は左辺値にも使える

$var = $bool ? $foo : $bar; という書き方はよく見ますが、 if ( $bool ) { $foo = $value; } else { $bar = $value; } 実は、こういう書き方も、 $bool ? $foo : $bar = $value; こう書くこともできます。可読性とのトレードオフを考慮して使用してくださ…

レンタルサーバーでインストールされているモジュール一覧を見る方法

perl 5.005 から使えます。 適当な名前でアップしてブラウザからアクセスしてください。 #!/usr/local/bin/perl use ExtUtils::Installed; my $o = ExtUtils::Installed->new; print "Content-Type: text/plain", "\x0D\x0A" x 2; printf "%s %s\n", $_, $o-…

リファレンスの値を別の変数からいじりたい時の注意点

例えば、このようなコードをすっきる見せるために、 $self->{'foo'}->{'bar'} = 123; $self->{'foo'}->{'baz'} = 456; . . .

POD の head1 によく使われる項目名ランキング

POD を書いている際に、参考にしようと、ふと思い立って集計してみました。 集計した環境は、Catalyst, Plagger など依存モジュールが多いモジュールが入った環境です。

配列の値をキーにハッシュを生成するワンライナー

my @array = ('foo', 'bar', 'baz'); と、いう配列があって、それをキーに foo => 1, bar => 1, baz => 1, と、いうハッシュを生成したいとき my %hash; for my $key (@array) { $hash{$key} = 1; } と、書くのが一般的ですが、下記でも書けます。 my %hash …