私の職場には、他のファイルが呼び出されるいくつかのコア ファイルを含む Web ポータルがあります。したがって、ユーザー名とプロジェクト ID には、誰もが使用し、コア ファイルで定義されている変数がいくつかあります。同じ変数を使用するために厳密な使用を避ける必要がありますが、そうしたくありません。では、コア ファイルに含まれていた変数のリストを取得するにはどうすればよいでしょうか。または、基本的なケースでは、厳密な使用中に変数 $projectId の値を取得するにはどうすればよいですか。
質問する
75 次
1 に答える
4
宣言されておらず、レキシカル スコープが設定されていない変数はすべてmy
パッケージ変数です。strict
変数名をパッケージで修飾することにより、文句を言わずにパッケージ変数を参照できます。したがって、「コアファイル」$projectid
がデフォルトmain
パッケージの変数を定義している場合、安全に参照できます
$main::projectid
$::projectid ($::foo is the same thing as $main::foo)
または、「コアファイル」に次のpackage
ようなステートメントが含まれているpackage ProjectData;
場合は、次を使用します
$ProjectData::projectid
グローバル変数が現在のパッケージからのものである場合 (たとえば、コア ファイルとスクリプトの両方が既定のパッケージを使用している場合)、キーワードstrict
を使用して変数を宣言することもできます。our
package main;
our $projectid;
# now $projectid refers to $main::projectid
...
于 2013-10-31T05:13:26.830 に答える