perl - 我应该如何在 Perl 中使用 "my"关键字?

标签 perl scope declaration

我经常在在线 Perl 脚本示例中的变量名前面看到 my 关键字,但我不知道它的含义。我尝试阅读手册页和其他在线网站,但鉴于我看到的使用方式与手册之间的差异,我很难辨别它的用途。

例如本文中用于获取数组长度的: Find size of an array in Perl

但是手册说:

A my declares the listed variables to be local (lexically) to the enclosing block, file, or eval. If more than one value is listed, the list must be placed in parentheses.

它有什么作用以及如何使用?

最佳答案

my 限制 scope的一个变量。变量的作用域就是可以看到它的地方。将变量的范围缩小到需要该变量的位置是良好编程的一个基本方面。它使代码更具可读性并且不易出错,并带来了一系列衍生的好处。

如果您不使用 my 声明变量,则会创建一个全局变量。这是要避免的。使用 use strict; 告诉 Perl 您希望阻止隐式创建全局变量,这就是为什么您应该始终使用 use strict; (以及 use warnings;) 在您的程序中。

<小时/>

相关阅读:Why use use strict; and use warnings;?

关于perl - 我应该如何在 Perl 中使用 "my"关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20889609/

相关文章:

linux - 如何在不在*nix 或 Perl 中打印新行的情况下更新屏幕上的数据?

java - 如何在内部类中访问servlet的方法变量

haskell - Haskell 数据声明可以受类型值的限制吗

perl - 通过 perl 脚本调用 make 实用程序/文件

visual-studio - 将 C++ 结构指针从 Perl 传递到任意 dll 函数调用

python - 为什么 Python 在销毁对象之前销毁类变量?

python - 通过更改和导入模块在 Python 中传递 "local"变量?

python - 将包的 __init__.py 模块用于通用抽象类是 pythonic 吗?

c++ - 使用结构变量作为形式参数

Perl : constant & require