最近データの中身を確認するのにいちいちprint Data::Dumper::Dumper($hogehogeobj);とやるのがめんどくなってSmart::Commentsを使うようにしたんだけどオブジェクトのメソッド呼び出しの評価はSmart::Commentsってしてくれないのね。
例えば以下のような簡単なデータを表すクラスがあって...
package GA::OneMapElement; use strict; use warnings; sub new{ my $class = shift; my $x = shift; my $y = shift; bless { x => $x, y => $y, },$class; } sub get_x{ my $self = shift; return $self->{x}; } sub get_y{ my $self = shift; return $self->{y}; }以下(といっても主要部分だけかなり抜粋)のスクリプトを実行してみると...
my $oneElement = GA::OneMapElement->new(100, 150); ### $oneElement ### $oneElement->get_x print Data::Dumper::Dumper($oneElement->get_x);
実行結果
### $oneElement: bless( {
### x => 100,
### y => 150
### }, 'GA::Controller::OneMapElement' )
### $oneElement->get_x
$VAR1 = 100;
みたいな感じでオブジェクト自身のdumpはうまくいくが、$oneElement->get_xがそのまま出力されちゃう。むぅ。
最終的にはprint Data::Dumper::Dumper()をsnippet登録した方が使いやすいのかなぁ。