用eval 动态编译代码

eval 有另外一种用法, 其参数是作为一个字串表达式, 而不是代码块。在运行时, 它将字串临时编译成代码并且执行.
这很易用, 但也很危险, 因为有可能会把具有危害性的代码放到字串里。

foreach my $operator ( qw(+ - * /) ) {

    my $result = eval "2 $operator 2";

    print "2 $operator 2 is $result\n";

}

你可能感兴趣的:(eval)