一些常规用法:
my
: 把变量的名字和值都限于某个范围内,也就是说,该变量只能本层模块或者函数,可以看到这个变量,高一层或者低一层的都看不到。
use strict;
:
在第一行加这个,据说是为了防止太过简单的语法错误:比如错误使用了'$recieve_date'
变量,但实际上你在程序中已声明的是 '$receive_date'
变量,这个错误就很难发现。同样,use strict 迫使你把变量的范围缩到最小,使你不必担心同名变量在程序的其它部份发生不良作用。(尽管这是 my 的功能,但是如果你使用 use strict 的话,它会强迫你用 my 声明变量,来达到上述目的)。
只后,要在整个程序中用my 声明变量。
use
;
use 声明装载一个模块(如果它还没有被装载),并且把子过程和变量从这个命名模块输入到当前包。(从技术上来讲,它从那个命名模块向当前包输入一些语意,通常是通过把一些子过程或者变量名作成你的包里的别名的方法。)大多数 use 的声明看起来象:
use MODULE LIST;
其实和下面是完全一样的:
BEGIN { require MODULE; import MODULE LIST; }
如果你不希望你的名字空间被修改,那么明确地提供一个空列表:
use MODULE ()
;
它和下面的代码完全一样:
BEGIN { require MODULE; }
;