我理解了

for ( my $i=0; $i<@array; $i++ ) {
    print "$i: \...@array list: @array\n";
    my $tmp = shift @array;
    print "array list:" . @array . "\n";
    print "shift: $tmp\n";
    push @array_2, $tmp;
}


每次 @array的标量值都在变啊!! 细节 细节!


在 2009-01-20二的 17:41 +0800,Jacky Xu写道:
> 为什么循环只跑了3次?
> 
> 我的结果
> 
> ja...@jacky-laptop:~/tmp$ ./test2.pl 
> $array[0]: a
> $array[1]: b
> $array[2]: c
> $array[3]: d
> $array[4]: e
> $array[5]: f
> Start
> 1: @array list: a b c d e f
> shift: a
> 2: @array list: b c d e f
> shift: b
> 3: @array list: c d e f
> shift: c
> finished
> List @array: d e f
> 
> List @array_2: a b c 
> 
> 
> 
> 
> 
> 
> 
> 
> ------------------------------
> #!/usr/bin/perl -w
> 
> 
> use strict;
> my @array=('a','b','c','d','e','f');
> my @array_2;
> 
> for ( my $i=0; $i<@array; $i++ ) {
>     print "\$array[$i]: $array[$i]\n";
> }
> 
> print "Start\n";
> my $count = 1;
> foreach (@array) {
>     print "$count: \...@array list: @array\n";
>     my $tmp = shift @array;
>     print "shift: $tmp\n";
>     push @array_2, $tmp;
>     $count++;
> }
> 
> print "finished\n";
> 
> print "List \...@array: @array\n\n";
> 
> print "List \...@array_2: @array_2 \n\n";
> 
> 
> 
> 
> 
> 
> 在 2009-01-19一的 23:27 -0800,henryli写道:
> > 同意Changying Li  的说法
> > 
> > for(@array)
> > {
> >     shift @array;
> >     $temp = @array;
> >     print $temp;
> > }
> > 
> > 就可以知道问题所在了,更好的办法是用while。
> > 
> > 
> > On Jan 19, 4:31 pm, zhang jy <[email protected]> wrote:
> > > hi~
> > >       大家好!最近在工作中遇到了一个问题。
> > > #!perl -w
> > > use strict;
> > > my @array=('a','b','c','d','e','f');
> > > my @array_2;
> > > for(@array)
> > > {
> > >       push @array_2,shift @array;}
> > >
> > > for(@array)
> > > {
> > >     print $_;
> > >
> > > }
> > >
> > > 我希望看到的...@array内被清空,@array_2被填满。可是情况确...@array中存在d,e,f。
> > > 请教一下大家,如何才能达到我想要的目的?
> > > 还有,为什么存在的是def,而不是b.d.f
> > > 谢谢!
> > > 
> 
> 
> > 


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。
 要在此论坛发帖,请发电子邮件到 [email protected]
 要退订此论坛,请发邮件至 [email protected]
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

回复