• ブログ
  • Photoshare
  • キーワード
  • ブックマーク
  • ふぉとす
  • 写真
  • ログイン

kaeruspoon

« お寿司を食べました | 山梨へ旅行に行ってきました »
  • Perlでevalを使ってみる 2007-07-27 00:00:00 Append 195

    • 続・初めてのPerl 改訂版
    • 出版社/メーカー: オライリー・ジャパン
    • メディア: 大型本
    • 発売日: 2006-10-21

     「「続・初めてのPerl 改訂版」」を使ってPerlの勉強をしています。今日はevalについて。evalは関数で、ブロック内や文字列内をPerl構文として評価するのだけど、このあたりはRubyと一緒。でもRubyでは全然evalを使ったことがないので、初めてみたいなものです。おもしろいのが、eval中のエラーはプログラムが終了せずに、変数$@にエラーメッセージが格納されるところ。例外処理みたいに使えるようです。

    #!/usr/bin/perl
    
    my ($a, $b) = @ARGV;
    my $c = eval{$a / $b};
    if ($@) {
            print "err:$@";
    } else {
            print "$c\n";
    }
    
    print "here is end of program!\n";
    

     普通は0で除算する時点でエラーが発生してプログラムが終了しますが、evalを使うとエラーメッセージを表示して、さらに処理を続行することができます。ただし、Perl自身が停止するような致命的なエラーはキャッチできないとのこと。

    [tsukasa@] $ ./test.pl 10 2
    5
    here is end of program!
    [tsukasa@] $ ./test.pl 10 0
    err:Illegal division by zero at ./test.pl line 4.
    here is end of program!
    


     土日は旅行に出かけるので、今日、不在者投票をしてきました。

     ボクシングの亀田兄弟がテレビに出ています。彼らを見るたびに、ぼくは弟たちを思い出す。ぼくの弟たちは、あの亀田兄弟に顔も喋り方も言うこともよく似ているのです。他人とは思えん。

    Commentコメント(0) Pageリンク元(2640)
« お寿司を食べました | 山梨へ旅行に行ってきました »

プロフィール

おおいしつかさ

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2009年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2010年
1月 2月 3月

キーワード一覧

ActionScript Ajax AmazonResources Erlang git github iPhone javascript Javascript Kaerukeyword kaeruspoon Mac merb milook MiyazakiResistance NSR Objective-C perl Perl Rails Ruby Ruby on Rails RubyKaigi speedpetal subversion Thin Thinkpad tokyobike TRPG twitter ubuntu Ubuntu VAIO VAIO typeZ Waves WordScoop Xen ぐりぐり しろさん カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 宮崎 日本酒 模型 猫 町田 真中洋嗣 自転車
Baner