綾小路龍之介の素人思考

[perl] $Data::Dumper::Deparse=1; コードリファレンスのソースコード変換

コードリファレンスの内容をわざわざチェックする、つまりサブルーチンの内容をチェックする行為はのあまりしないかもしれないけど、ソースコード検索せずに該当のコードをチェックできる機能は捨てがたいと思う。

たとえば以下のようなコードで$objにfugaというメソッドがあるかどうかチェックできる。この出力がundefじゃなければメソッドがあるということだ。

my $obj = HOGE->new;
my $mehod = $obj->can('fuga');
print $method;

デバッグ作業していると、今読んだmethodの内容が知りたいということは多々ある。そんなときにはソースコードの内容を検索するのだが、Data::Dumperを使って、Data::Dumper::Deparse = 1;とすることで、methodの内容をチェックできる。これがないとsub{ "DUMMY" }になってしまう。

use Data::Dumper;
Data::Dumper::Deparse = 1;
my $obj = HOGE->new;
my $mehod = $obj->can('fuga');
print Dumper $method;

リファレンス

  1. use Data::Dumper; - 今日のCPANモジュール
  2. Data::Dumper::Deparse - Google 検索
  3. Data::Dumper - perlデータ構造の出力/eval両用文字列化

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-06-30T15:53:14+09:00
  2. Modified: 2009-06-30T15:53:14+09:00
  3. Modified: 2010-09-20T10:42:29+09:00
  4. Generated: 2018-08-06T23:09:17+09:00