Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Toru Kawamura
ExtUtils::Install, ExtUtils::Installed を使うと cpan コマンドでインストールしたモジュールについてあれやこれや調べる事が出来ます。 インストールされているモジュール一覧 perl -MExtUtils::Installed -le 'print join "\n" => sort ExtUtils::Installed->new->modules;' 特定のモジュール名が属する dist に含まれるファイル一覧 $ perl -MExtUtils::Installed -le 'print join "\n" => sort ExtUtils::Installed->new->files(shift @ARGV);' YAML::Syck /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
Perlで、インストールされているモジュールの一覧を取得するには ExtUtils::Installed を使うとよいという記事をよく見かけていたので、自分もよくそのようにしていました。 新しいPerlに今まで使ってたモジュールをまとめてインストールする - 酒日記 はてな支店 cpan コマンドでインストールしたモジュールを調べる - Yet Another Hackadelic しかし本日、perlbrewでperl-5.12.2をインストールした後、bin/ 配下に置かれるコマンドをなんとなく眺めていたところ、instmodsh というコマンドがあることに気付きました。これを使うと、 $ instmodsh Available commands are: l - List all installed modules m <module> - Select a module q - Q
Perlのコードを書いていると各種モジュールに分割してメソッド呼び出しをバシバシ行うと思うんですが、 package Proj::Api::User; sub new { bless {}, +shift } sub lookup { my ($self, $args) = @_; warn $args->{user_id}; } 的なコードを書くと思うのですよ。 この場合、lookupメソッドはpackage名にあるUserから連想して $argsにはuser_idが入っているというルールを決めておけば、 まぁとりあえず問題なさそうにみえますが、(結構楽なのでこうしてしまいがちなんですが) 本当にuser_idがあるかどうかチェックしたほうが本当はいいわけですね。 そこでParams::Validateというモジュールがあります。 コレを使うとこのようにかけます package P
module Foo def hello puts "hello" end end Foo::hello #-> undefined method `hello' for Foo:Module (NoMethodError) includeしないと使えないのかな… module Foo def hello puts "hello" end end module Bar include Foo def hello2 hello hello end end def tmp include Bar hello2 end tmp hello # 呼べる うーむ、includeすれば使えるは使えるが、includeはモジュールの中のメソッドをクラスに追加するのであって、メソッドのローカル変数として関数オブジェクトをインポートするのとは違うんだなぁ。これだと実質的に「インポートしたモジュールの中身はグ
2010年08月23日08:00 カテゴリLightweight Languages perl - Data::Decycle で悪循環を断とう! Data::Decycleというモジュールをリリースしたのでお知らせします。 /lang/perl/Data-Decycle/trunk - CodeRepos::Share - Trac dankogai's p5-data-decycle at master - GitHub Dan Kogai / Data::Decycle - search.cpan.org Perlは循環参照が苦手 有名な話ですが、Perlで循環参照を作ると、プログラムが終了するまでその分のメモリーは解放されません。 perlobj - search.cpan.org use strict; use warnings; { package Dummy; sub new
cpan-outdated という、使っている CPAN module が古くないかどうかを確認できる便利なスクリプトがありますが、その cpan-outdated さんが local::lib に対応してました。 % cpan-outdated -L extlib | cpanm -L extlibなどとやると、extlib/ 以下のふるいモジュールを一気にアップグレードできます。 まあ気がむいたらやってみるといいんじゃないでしょうか。
xaicron's pm-uninstall at master - GitHub 今までも、CPAN モジュールをアンインストールするために、 ExtUtils::Install と ExtUtils::Installed を使った、以下のようなエイリアスを書いて使っていたのですが、 alias cpan-uninstall='perl -MExtUtils::Install -MExtUtils::Installed -e "unshift@ARGV,new ExtUtils::Installed;sub a{\@ARGV};uninstall((eval{a->[0]->packlist(a->[1])}||do{require CPAN;a->[0]->packlist(CPAN::Shell->expandany(a->[1])->distribution->base_id=~m
前回までのあらすじ ようやくlocal::lib童貞を捨てた - すぎゃーんメモから1.5ヶ月ほど経過。 やはりプロジェクト毎にモジュールのバージョンを揃えておきたくて、各プロジェクト用にモジュールをインストールしている。 アカウント作成して切り替え、という方法は早々に見切りをつけ、最近は #!/bin/sh export MODULEBUILDRC="/Users/sugyan/local/.modulebuildrc" export PERL_MM_OPT="INSTALL_BASE=/Users/sugyan/local" export PERL5LIB="/Users/sugyan/local/lib/perl5:/Users/sugyan/local/lib/perl5/darwin-thread-multi-2level:$PERL5LIB" export PATH="/Use
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く