こんにちはトミールです。
Acme::JavaTraceはエラーのスタックトレースをJava風の出し方で出してくれるっていうモジュールです。
perl -wMAcme::JavaTrace script.pl
というようにして実行すると、エラーがあった場合は
Exception: event not implemented at MyEvents::generic_event_handler(workshop/events.pl:26) at MyEvents::__ANON__(workshop/events.pl:11) at MyEvents::dispatch_event(workshop/events.pl:22) at MyEvents::call_event(workshop/events.pl:17) at main::(workshop/events.pl:30)
とかいう感じで出るみたいです。目がJavaに慣れてる人も安心!!
おもしろいのは、これに影響を受けてCarp::Alwaysっていうジョークじゃないモジュールができたっていうところです。嘘から出た真というか、こういうパターンもあるんですね。
ちなみに利用しているモジュール内でちゃんと利用者目線のエラーについてCarpが使われている場合は、以下のように外からCarpのモードをverboseにしてやることで、carp()やcroak()をスタックトレース付きで吐かせることができます。
perl -MCarp=verbose script.pl