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次?
>
> 我的结果
>
> jacky@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 <feng...@gmail.com> 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 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论