0

不确定我的标题有多清晰,但我是 perl 新手,没有其他方法可以真正描述它。我想做的是这样的:

if(condition){
     my $VAR = " ";
}

然后稍后在其他地方使用 $VAR ......

if(! $USR){
     my $USR = "$VAR";
}

有没有办法调用在其他地方引用的标量已被括号括起来?{}

提前致谢...

4

2 回答 2

3

在作用域 {} 内声明的变量在作用域外被销毁。您需要先声明变量。始终使用严格和警告,它将为您节省大量时间。

use strict;
use warnings; 

my $VAR;
my $USR;
if(condition){
     $VAR = " ";
}

if(! $USR){
    $USR = "$VAR";
}
于 2014-08-29T17:59:20.460 回答
0

在 perl 中, my 变量是词法范围的,因此可以在该范围内访问它们:

{ 
# start of lexical scope

my $VAR;

# end of lexical scope
}

在上面的代码$VAR中只能看到左大括号和右大括号之间,而结束大括号之后$VAR不再存在。

于 2014-08-29T18:05:39.420 回答