+ -
当前位置:首页 → 问答吧 → 继续问个问题,有能力知道的告诉我阿,谢谢

继续问个问题,有能力知道的告诉我阿,谢谢

时间:2010-08-14

来源:互联网

形如这样
open.....      #打开文件,后面的我就不写了
while (<>){
if (){
$a;         #  这里通过操作假设得到一个$a,
print "$a\n";   #通过print 这里$a会顺利的打出来
}
}

我的问题就是,当这个print "$a\n";不是在上述位置时,而是这样:
open.....
while (<>){
if (){
$a;   
}
}
print "$a\n";


那么$a将只会出现它的最后一个值(至少我发现是这样)
那么,为什么会这样呢?
难道$a一定要出现在if控制的结构内吗?
我需要$a这个值的时候往往会出现在后面,那么$a就无法使用了??

知情者麻烦说说  谢谢

作者: 179147112   发布时间: 2010-08-14

是要在while内吧?

作者: shilin320   发布时间: 2010-08-14

回复 shilin320


    while内也不对

作者: 179147112   发布时间: 2010-08-14

  1. $a=<STDIN>;
  2. chomp;
  3. while ($a<5){
  4. $a++;
  5. }
  6. print "$a\n";
复制代码
如果输入2,结果只有5
  1. $a=<STDIN>;
  2. chomp;
  3. while ($a<5){
  4. $a++;
  5. print "$a\n";
  6. }
复制代码
这个输入2,就会打印出345

作者: shilin320   发布时间: 2010-08-14

多有能力的问题啊! “有能力知道的"…… 让人极其不爽的问话方式?激将啊!

作者: dugu072_cu   发布时间: 2010-08-14

回复 dugu072_cu


    ????
怎么我问个问题难道错了吗?

作者: 179147112   发布时间: 2010-08-14

回复 shilin320


    恩,为什么会这样呢,如果我想引用前面的数据那不是不能了?

作者: 179147112   发布时间: 2010-08-14