# %ENV をトレースする Plack::Middleware::Debug::TraceENV 書いた {{tag: perl, cpan}} %ENV をごにょごにょしたことをトレースする [[https://github.com/bayashi/Plack-Middleware-Debug-TraceENV|Plack::Middleware::Debug::TraceENV]] というモジュールを書きました。 ![[https://img.bayashi.net/diary/2012/20121007_01.gif|debug panel]] 元ネタはこちらです。 [[http://www.naney.org/diki/d/2012-10-03-tie-ENV.html|ついカッとなって Perl で %ENV を tie した]] %ENV を tie してごにょごにょしてるのを watch する方法が書かれているわけですが、Plack においては middleware になってると便利なんじゃないかということで、取り急ぎ debug panel にしてみました。 tie とか自分で書いたのがはじめてなんで内部実装がどうだか怪しいので取り急ぎは github にしかあげてません。 CPAN 上げました。 よろしければお試しくだされ。 ----- [2012/10/13 追記] tie した変数をごにょごにょした際に hook して呼ばれるだけかと思っていたら、メソッドによってはちゃんと返り値返さないとダメだということを知らなくて 0.01 は全然まともに動いてなかった。 あと、足りてなかったメソッドも、UNTIE と DESTROY 以外は 0.02 で実装しました(といっても、Tie::Hash からのコピペ)。 とりあえず、そこそこは動くようになったはず。