首页 > 学技术 > 技术网文 > Perl > 正文

[精华] perl动态代码机制是怎么工作的呀?


来源 chinaunix.net kuqin整理

比如如何把一个函数的代码字符串动态的编译并执行?
  我知道JavaScript中如何实现这样的功能:
var funcode = "function(str){alert(str);}";
var fun = eval(funcode);
fun("Hello World!");
  请问谁知道这种机制在perl中如何实现?举个例子可以吗?



 apile 回复于:2004-01-13 16:26:49

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:57

>;export CMD='print "hello"'
>;perl -e 'print $ENV{"CMD"}'
print "hello"

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




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=242578
转载请注明作者名及原文出处



收藏本页到: