小编典典

Perl 中的“我的”和“我们的”有什么区别?

all

我知道myPerl 中有什么。它定义了一个仅存在于定义它的块范围内的变量。做什么our

与有何our不同?my


阅读 153

收藏
2022-07-04

共1个答案

小编典典

有什么 _ our 不同, _ my 有什么作用 our

总之:

自 Perl 5 起可用, _ my_ 是一种声明非包变量的方法,即:

  • 私人的
  • 新的
  • 非全局的
  • 与任何包分开,使变量 不能$package_name::variable.

另一方面, _ our_ 变量是包变量,因此自动:

  • 全局 变量
  • 绝对 不是私人的
  • 不一定是新的
  • 可以 在具有限定名称空间的包(或词法范围)之外访问,如$package_name::variable.

声明变量 _ our 允许您预先声明变量以便在 use strict 不出现拼写警告或编译时错误的情况下使用它们。从 Perl 5.6
开始,它已经取代了 obsolete
use vars ,它只是文件范围的,而不是词法范围的 _ our

例如,$x内部变量的正式限定名package main$main::x. 当脚本使用or时,声明 _ our $x
允许您在声明$x范围内使用裸变量而不会受到惩罚(即,不会产生错误)。范围可能是一个、两个或多个包,或者一个小块。
use strict
use strict "vars"_

2022-07-04