The argument is parsed and executed as if it were a Perl program.
my $ret = eval $perl_code;
if( $@)
{
print "error: eval returned $@\n";
}
The value returned from eval is the value of the last expression
evaluated.
eval traps otherwise-fatal errors:
#!/usr/bin/perl
$a = 1;
$b = 0;
eval
{
$c = $a / $b;
};
if( $@)
{
print "error: eval returned $@\n";
}