« huma-rhythm | Main | 秦野弁 - Wikipedia »

25 May 2006

Perl Tips - Carp

プログラミング言語は色々と進化を遂げています。プログラムを作成する敷居やコストも低下しています。とくに IDE (Integrated Development Environment) がコスト低下に一役買っていることは間違いないです。microsoft Visual StudioEclipse 辺りがその代表格でしょう。

では、Perl, PHP, Ruby などの LL (Lightweight Language) の分野ではどうでしょうか?基本的に IDE は使わないです。vi や emacs といったエディタが主流です。

そんなとき、IDE を使っているデベロッパの方々から見て、最も気になるのがデバッグではないでしょうか?

いえいえ、Perl だってちゃんとデバッガがついています。


$ Perl -d foo.pl

-d を使うことで、デバッガが起動します。ブレーク・ポイントを設定したり、ステップ実行やステップ・インなど、IDE と同じようなことが実現できます。Perl -d の使い方については、YAPC::Asia 2006 Tokyo での sekimura-san のセッション できる Perl debugger 音声 Video がオススメです。

でも、デバッガ起動するまでではなかったり、デバッガを立ち上げられなかったり、という人たちには、Perl のコア・モジュールである Carp を使うとよいでしょう。

Perl Best Practices の中でも、もちろん取り上げられています。

Reporting Failure
Have exceptions report from the caller's location,
not from the place where they were thrown.
p.283 - p.284 Chapter13 : Error Handling
perldoc Carp
で Carp のドキュメントが読めますが、次のようなメソッドを持っています。
carp
warnします。
cluck
carp + スタックトレース という感じ。
shortmess
carp と croak のメッセージを返します。
croak
dieします。
confess
croak + スタックトレース という感じ。
longmess
cluck と confess のメッセージを返します。
ということで、Carp は warn 系と die 系とあります。

スタックトレースを出力しないと細かなデバッグはできません。Carp モジュールはコア・モジュールだから手軽に利用できるので覚えておくとよいでしょう。

Perl Best Practices
Perl Best PracticesDamian Conway

Oreilly & Associates Inc 2005-08
売り上げランキング : 15,910

おすすめ平均 star
starあの会社にいた頃にこの本があったら

Amazonで詳しく見る
by G-Tools

TrackBack

TrackBack URL for this entry:
http://bb.lekumo.jp/t/trackback/517129/31023495

Listed below are links to weblogs that reference Perl Tips - Carp:

Comments

I leave a response when I especially enjoy a post on a website or if I have something to valuable to contribute to the conversation. It's a result of the fire displayed in the article I read. And on this article blog.comewalk.com : Perl Tips - Carp. I was excited enough to drop a thought ;-) I actually do have 2 questions for you if you do not mind. Could it be simply me or does it give the impression like a few of the comments appear as if they are coming from brain dead individuals? :-P And, if you are posting at other places, I'd like to follow you. Would you list every one of your community sites like your linkedin profile, Facebook page or twitter feed?

Hi my loveɗ one! I want to say that this article is awesome, nice written and include almost all impoгtant infos. I'd liҝe to peer more posts like this .

MK Wherever You Go You Will Not Hesitate To Take Your Michael Kors Now!Or You Will Miss The Fashion Trend! more from :mk belt

Post a comment

Access Ranking

Powered by Six Apart
Sponsored links