+ -
当前位置:首页 → 问答吧 → 关于eval的使用

关于eval的使用

时间:2011-12-24

来源:互联网

大家好,我写了一段代码:
Perl code

#!/usr/bin/perl -w
use strict;
use diagnostics;

#my $dir="/tmp";
my $stm="my \$dir=\"temp\";"; #这行是想执行my $dir="temp"
eval $stm;
$stm="print \$dir ;"; #问题1:但是这行为什么没有把变量$dir的值temp输出来呢?
eval $stm;




问题2,请问如果把#my $dir="/tmp";这行的注释删除掉,那么这个$dir与eval执行的$dir是不是同一个变量呢?
请分别讨论以上两个问题。谢谢大家!

作者: chennut0802   发布时间: 2011-12-24

my的作用域已经结束了。另外请你学会使用单引号,或者q。一堆\看着不费劲么。

作者: iambic   发布时间: 2011-12-24