Class::Accessor::Lvalue::Fast使用時のperlデバッガの利用方法について教えて下さい。

例えば以下の様なコードをステップ実行したいのですがエラーが出てしまいます。

---
package testmod;
use strict;
use warnings;
use Perl6::Say;
use base qw(Class::Accessor::Lvalue::Fast);
__PACKAGE__->mk_accessors(qw(params));

sub new {
my $class = shift;
my $self = $class->SUPER::new();

$self->params = {param1 => 10};
say $self->params->{param1};

return bless $self, $class;
}

1;
---

問題となっているのは、13行目です。12行目で設定した値を参照しているのですが、
このモジュールをnewするスクリプトをperl -dで実行した場合、
「Can't use an undefined value as a HASH reference at testmod.pm line 13.」とエラーが出てしまいます。
ところがデバッグオプションを指定しない場合は正常に動作します。
雰囲気としてはデバッガが独自で収集しているシンボルの登録が行われていない様なのですが、
何か解決・回避方法等はありますでしょうか。なおステップ実行の対象は自分が書いたものではないので、
コードを修正する以外の方法をお願いしたいです。

回答の条件
  • 1人5回まで
  • 登録:2010/02/08 17:53:48
  • 終了:2010/02/15 17:55:03

回答(1件)

id:IlO10l0Il No.1

IlO10l0Il回答回数1757ベストアンサー獲得回数812010/02/11 22:12:49

ポイント60pt

http://soft.bko.to/perl/A-E/Class-Accessor-Fast.html

コードの修正以外では難しいと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません