in reply to Re: eval function
in thread eval function

Generally, I view it as a masochistic feature of the language, try not to use it unless you really need to (there is almost always a way to get around it). Most applications I have seen that really require eval fall under the heading of Stupid Perl Tricks.
There's no other way to do error trapping in perl. If you want to intercept a "die/croak" in someone else's code and handle it yourself, you need to use eval.

Myself, I like to do things like:

use Test::More; SKIP: { eval { require DBD::SQLite }; skip "DBD::SQLite not installed", 3 if $@; # 3 is "how many to skip" # ... tests using SQLite }

Replies are listed 'Best First'.
Re^3: eval function
by ikegami (Patriarch) on Apr 13, 2007 at 22:43 UTC

    dynamo was talking about eval EXPR.
    You are talking about eval BLOCK.
    Despite the similariry in their name, they are two very different functions with very different purposes.