Chinaunix

标题: perl动态代码机制是怎么工作的呀? [打印本页]

作者: Alz    时间: 2004-01-13 12:11
标题: perl动态代码机制是怎么工作的呀?
比如如何把一个函数的代码字符串动态的编译并执行?
  我知道JavaScript中如何实现这样的功能:
var funcode = "function(str){alert(str);}";
var fun = eval(funcode);
fun("Hello World!";
  请问谁知道这种机制在perl中如何实现?举个例子可以吗?
作者: apile    时间: 2004-01-13 16:26
标题: perl动态代码机制是怎么工作的呀?
eval

perldoc -f eval

please..

置頂的post裡...可以找到例子...

剛剛發現好像不見了...

那好吧..一個很簡單的東西..

$data =eval {
    my $i;
     for( $i=0;$i<100;$i++){
        $i++;
    }
    $i;
};

實際上eval後面的除了是{}外..也可以是
$string ="sub test(){ my (\$data) = \@_; return \$data;}";
$data = eval $string;
作者: deathcult    时间: 2004-01-13 18:24
标题: perl动态代码机制是怎么工作的呀?
>;export CMD='print "hello"'
>;perl -e 'print $ENV{"CMD"}'
print "hello"

>;perl -e 'eval $ENV{"CMD"}'
hello




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2