在我的工作场所,我们有一个门户网站,其中包含一些核心文件,通过这些文件可以调用其他文件。因此,每个人都使用并在核心文件中定义的用户名和项目 ID 的一些变量。现在我必须避免使用 use strict 来使用相同的变量,但我不想这样做。那么如何获取核心文件中的变量列表呢?或者在基本情况下,如何在使用严格时获取某个变量 $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 回答