2013年07月25日

I fixed Try::Lite's nexted try-catch block don't work on older perls, because I received that bug report by koba04.

https://metacpan.org/release/YAPPO/Try-Lite-0.0.3/

Try::Lite は最近の Perl で開発したため、うっかり古い Perl の例外処理が変なやつに対応するのを忘れてました。

pull-req 受け取ってから4ヶ月かかってしまったんですが、例外処理ややこしいせいがあってパッチの意図が良くわからんくて放置してたってのがあります!
最初貰ったやつだと RAII して $@ を良い感じに元に戻すみたいな事してたけど、よく考えたら普通に書けば RAII いらんくなったので今の形になりました。

Try::Lite だと catch block での error は $_ に入れてくれるので $@ の nest とか考えなくていいのですが、 Try::Lite だと $@ を使ってて 5.12 以下の時に色々配慮しないとだめなので頭ぐるぐるしてました。


Perl 徹底攻略の記事でも書いたけど、やっぱり例外処理は自分で作らずにこういうモジュールを使っとくといいのです。
まぁ、最近の perl だとまっとうな感じになってるので、新しいのみんなつかおう

Posted by Yappo at 2013年07月25日 18:54 | TrackBack | Perl
Comments
Post a comment









Remember personal info?






コメントを投稿する前に↓の場所にnospamと入力してください。