+ -
当前位置:首页 → 问答吧 → foreach循环只输出数组的一半

foreach循环只输出数组的一半

时间:2011-03-21

来源:互联网

  1. #! /usr/bin/perl

  2. use strict;
  3. use warnings;

  4. my @array;
  5. my $i;
  6. for($i = 0;$i < 10;++$i)
  7. {
  8.         push(@array,$i);
  9. }
  10. print "@array\n";
  11. print "temp\tarray\t\t\tvar\n";
  12. foreach my $var (@array)
  13. {
  14.         my $temp = pop @array;
  15.         print "$temp\t";
  16.         print "@array\t\t";
  17.         print "$var\n";
  18. }
  19. print "\n"
复制代码
输出:

hunter:/opt/tmp # ./array.pl
0 1 2 3 4 5 6 7 8 9
temp    array                   var
9       0 1 2 3 4 5 6 7 8               0
8       0 1 2 3 4 5 6 7         1
7       0 1 2 3 4 5 6           2
6       0 1 2 3 4 5             3
5       0 1 2 3 4               4

为什么我只能循环5次就退出了呢?

作者: gallanthunter   发布时间: 2011-03-21

清清楚楚 明明白白 数组元素就剩五个了,当然退出了

作者: ziyunfei   发布时间: 2011-03-21

pop @array会减少@array中元素的个数啊

作者: 珞水的大叔   发布时间: 2011-03-21