我知道myPerl 中有什么。它定义了一个仅存在于定义它的块范围内的变量。做什么our?
my
our
与有何our不同?my
有什么 _ our 不同, _ my 有什么作用 our ?
总之:
自 Perl 5 起可用, _ my_ 是一种声明非包变量的方法,即:
$package_name::variable
另一方面, _ our_ 变量是包变量,因此自动:
声明变量 _ our 允许您预先声明变量以便在 use strict 不出现拼写警告或编译时错误的情况下使用它们。从 Perl 5.6 开始,它已经取代了 obsolete use vars ,它只是文件范围的,而不是词法范围的 _ our 。
use strict
use vars
例如,$x内部变量的正式限定名package main是$main::x. 当脚本使用or时,声明 _ our $x 允许您在声明$x范围内使用裸变量而不会受到惩罚(即,不会产生错误)。范围可能是一个、两个或多个包,或者一个小块。 use strict use strict "vars"_
$x
package main
$main::x
our $x
use strict "vars"