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 に答える