【发布时间】:2011-03-29 03:52:32
【问题描述】:
我永远无法清楚地理解 perl 中 local 的使用,除非在堆栈中定义的任何本地变量都将不同于其他现有的我的变量,并且本地变量也将在其他子例程中可见。
【问题讨论】:
标签: perl
我永远无法清楚地理解 perl 中 local 的使用,除非在堆栈中定义的任何本地变量都将不同于其他现有的我的变量,并且本地变量也将在其他子例程中可见。
【问题讨论】:
标签: perl
local只是给临时值 全局(意思是包)变量。它 不创建局部变量。这个 被称为动态范围。词汇 范围是用my完成的,它有效 更像 C 的自动声明。
【讨论】:
local 是 Perl 4 的遗留物,它没有 my 或 our。所有变量都是包变量,没有词法范围。 Perl 5 要好得多。
local 是在将my 引入语言之前减少变量范围的方法。它现在几乎只在无法使用词法 (my) 变量的情况下使用。
【讨论】: