読者です 読者をやめる 読者になる 読者になる

初代Masteries

きっとモヒカンにもなれないお前たちに告げる!!!

Perl鍋でお鍋を食べてきた

f:id:papix:20130418204216j:plain

新大阪コワーキングで開催されたPerl鍋 #4に行って来ました.
前回は確かキムチ鍋だった気がするのですが, 今回は味噌鍋でした.

f:id:papix:20130418204234j:plain

こんな感じで鍋を食ったり, コード書いたりする会です.

今回は, 最近いじくり回しているApp::gitenvのリファクタリングをやっていました.
リファクタリングと言っても, コードはいい感じ*1に出来ているので, 変数名とかその辺りを整えていました.

Perl鍋のいい所

Perl鍋は毎回発表タイムがあって, 今日の進捗とかを報告するのですが, そこでいろいろ情報が得られるので, とても有意義です.
毎回, 「へー, こんなのがあるんだ...」という発見があって楽しいです.

今日の発見は, @turuginaさんが使ってた, Cwd::Guardというモジュール.
kazeburoさんが作ったモジュールなのですが, このモジュールを使えば, chdirの復帰(chdirする前のディレクトリに戻る)をとても簡単に実装することができます.
つまり, スコープ内でchdirすると, スコープの外に出たら自動的に元のディレクトリに戻る, という機能を実現してくれます.

これを使えば,

chdir "hoge/fuga/";

  ... 処理 ...

chdir "../../";

こんな見にくいコードが,

{
    my $guard = cwd_guard("hoge/fuga");

    ... 処理 ...
}

こういう風に書ける, と.
*2に, 上のような見にくいコードを連発した記憶があるので, これからはCwd::Guardを使ってスマートに処理したいと思います.

次は「Perl手巻き寿司」希望

...そろそろ鍋の時期も終わりですが, 「飯を食い, コードを書く」というPerl鍋のような取り組みはこれからも続いていくようなので, 暇があれば是非参加してみると良いかと思います!

しかし, 次は何の料理になるんですかね. 「Perlピザ」とか「Perl焼肉」とか「Perl手巻き寿司」とか「Perlカレー」とか...?

*1:そりゃ@tokuhiromsさんのApp::plenvを手本にしているので当然という話ではありますが...

*2:確かDMTCの時...