Perl中的词法变量

来源:互联网 发布:淘宝联盟组件推广 编辑:程序博客网 时间:2024/05/19 23:14

(my)词法变量
   Perl中的词法变量可以应用在任何的块和子例程中;
   被my 修饰的词法变量对于所属块而言是私有的;
   如果变量的定义未出现在任何块中,则该变量对于整个程序文件而言是私有的.

   my操作符可以用来修饰标量变量:
   如在test.pl中:

   #!/user/bin/perl
   use strict;
   use warnings;
  
my $num1 = 5; #属于整个程序文件
   .....
   for(my $index = 0; $index < 1; $index++)
   {
        my $num1 = 10;  #这个$num1是属于for块的私有变量
        print "$num1/n";  # 输出10
   }
   print "$num1/n";  #输出5,
   .....

 
  
当然,也可以用my来创建私有数组、列表或散列. 如:
   my @pa;
   my %hash;

注意:
   1:相同的作用域范围内不能定义两个同名的词法变量;
   2:my在同一语句中声明若干词法变量,不加括号只会声明一个词法变量. 如:
   my $num1, $num2;   #错误,未声明$num2
   my ($num1, $num2);  # 正确,两个都声明了

   3:my操作符只能声明独立的变量, 不能用来声明数组或散列里的某一元素.如:
   my %goodnews;
   $goodnews{"news1"} = "WIN";
   $goodnews{"news2"} = "Defeat";
   my $goodnews{"news3" = "be loved";  #错误,编译会报错


(our)包全局变量
  
our声明的是"包全局变量",它的是依附在"包"上面的,它的存储位置是"包符号表".
包全局变量可以对属于同一包下面的所有程序文件是可见的.


原创粉丝点击