2014-08-29 66 views
0

不知道我的标题有多清晰,但是对于Perl来说是新的,并且没有其他方法可以真正描述它。 我想要做的是这样的:Perl中的标量 - 它们是否可以在整个脚本中导出

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

然后在以后使用$ VAR别的地方...

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

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

在此先感谢...

回答

3

是的范围内声明的变量{}中的范围之内销毁。 您需要先声明变量。总是使用严格和警告,这将为您节省大量时间。

use strict; 
use warnings; 

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

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

无赖,好的......是的,我使用警告和严格。我只是希望我能把这个小小的窍门拉开。无论如何,感谢您的输入 – 2014-08-29 18:37:03

+2

@Nick Hatfield,使用'my'的全部意思是明确禁止这一点。 – ikegami 2014-08-29 18:38:33

0

在Perl中,在我的变量词法作用域,这样他们就可以在该范围内进行访问:

{ 
# start of lexical scope 

my $VAR; 

# end of lexical scope 
} 

在上面的代码$VAR只能开闭括号之间可以看出,与结束后大括号$VAR不再存在。

相关问题