1. 程式人生 > >perl的foreach賦值是引用

perl的foreach賦值是引用

這個程式將會把@a陣列中所有的元素先逐個引用給$counter,然後把$counter地值打印出來。注意,我這裡說得是引用,不是賦值,perl裡面的“=”實際上是在進行引用,而不是賦值,這是需要同c嚴格區分的。下面的例子好玩,看一看:

   #!/user/bin/perl -w
   use strict;
   {
   my @a=(1..10);
   my $counter;
   foreach $counter (@a)
     {
      $counter++;
     }
   print "@a/n";
   }

  猜一猜將會打印出什麼?呵呵,是234567891011。因為,$counter是@a中每個元素的引用,所以$counter++就對@a中每個元素進行了++操作。

   #!/user/bin/perl -w
   use strict;
   {
   my @a=(1..10);
   my $counter;
   foreach $counter (@a)
     {
      $counter++;
     }
   print "@a/n";
   }

  猜一猜將會打印出什麼?呵呵,是234567891011。因為,$counter是@a中每個元素的引用,所以$counter++就對@a中每個元素進行了++操作。