如何把string转换成一个条件

如何把string转换成一个条件

$rule = "$a>10";
$a = 1;
if ($rule)
{
  printf "a is begger than 10";
}
else
{
  printf "a is less than 10";
}

但是运行的结果总是"a is begger than 10",而我想得到"a is less than 10"。 有什么办法让字符串转换为条件阿
谢谢!
perldoc -f eval


QUOTE:
原帖由 flw 于 2007-12-11 19:00 发表
perldoc -f eval



QUOTE:
原帖由 flw 于 2007-12-11 18:59 发表
为什么总是有人需要这个特性?
虽然 Perl 可以办到,
但是我一直没找到使用它的理由。
还是建议用 hash 吧:
@hash{@v_name} = @v_value;

理由出现了!


QUOTE:
原帖由 ly5066113 于 2007-12-11 19:06 发表

理由出现了!

你以为你 got it 了?
首先,能用符号引用解决的问题,绝不应该用 eval,
其次,那个帖子问的是如何动态生成变量,而不是对动态表达式求值。
我有理由相信,楼主是在设计一个允许用户交互式输入并执行 Perl 表达式的程序,
却无法想象那个帖子的主人为什么宁肯动态生成包变量也不肯用效果一样却更不容易出错的 hash?

你以为那个帖子的标题叫做“eval 怎么用”就认为理所当然地应该用 eval 来解决他的问题?
sorry, 为了渲染艺术效果,语气紧迫了些,但并无恶意,只限于学术讨论。


QUOTE:
原帖由 flw 于 2007-12-11 19:15 发表

你以为你 got it 了?
首先,能用符号引用解决的问题,绝不应该用 eval,
其次,那个帖子问的是如何动态生成变量,而不是对动态表达式求值。
我有理由相信,楼主是在设计一个允许用户交互式输入并执行 Per ...

老大息怒,我上面的回复有灌水嫌疑,我对perl基本不了解,只是来逛逛。
因为那些条条件是从一个config文件中读出来的,比如config文件中有一行 rule = $a>10 ,所以我需要取出这个条件然后判断。
2楼,3楼能否给出详细一点的例子,在下谢过了