有关句柄含有变量内插的问题

本帖最后由 kingwmj 于 2011-05-18 11:13 编辑

因为有大量的重复,所以希望用一个循环来完成,所以我的句柄是有变量内插的。结果不对。请高手看看问题出在哪里了。         
   use IO::File;
        my $out=new IO::File(">/home/sciwmj/workspace/R/biopython/total_new_feature.txt") or die "$!";
        my @arr_para=("CN","HSEAU","HSEBU","HSEAD","HSEBD","RD","RDa");
        my $in_b=new IO::File("</home/sciwmj/workspace/R/biopython/b_factor/total_b_factor.txt") or die "$!";
              my $in_CN=new IO::File("</home/sciwmj/workspace/R/biopython/CN/total_CN.txt") or die "$!";
              my $in_HSEAU=new IO::File("</home/sciwmj/workspace/R/biopython/HSEAU/total_HSEAU.txt") or die "$!";
              my $in_HSEAD=new IO::File("</home/sciwmj/workspace/R/biopython/HSEAD/total_HSEAD.txt") or die "$!";
              my $in_HSEBD=new IO::File("</home/sciwmj/workspace/R/biopython/HSEBD/total_HSEBD.txt") or die "$!";
              my $in_HSEBU=new IO::File("</home/sciwmj/workspace/R/biopython/HSEBU/total_HSEBU.txt") or die "$!";
        my $in_RD=new IO::File("</home/sciwmj/workspace/R/biopython/RD/total_RD.txt") or die "$!";
              my $in_RDa=new IO::File("</home/sciwmj/workspace/R/biopython/RDa/total_RDa.txt") or die "$!";
              while(defined($l=<$in_b>)){
                      chomp $l;
                      print $out "$l";
                      for $para (@arr_para){
                        my $l2=readline('$in_'."$para");    #问题可能出在这里。
                        my @list=split/\s+/,$l2;  #切片
                        print $out " $list[-1] "     #取最后一个数值
                      }
                      print $out "\n";
              }

作者: kingwmj   发布时间: 2011-05-18

楼主牛啊,用这么多从来没用过的东西。 readline 从来没用过啊,一般都用<> ,词法变量是不能用名字访问的。
Perl 会自动转化变量,所以不需要 die "$!" 直接 die $! 就可以了。

作者: zhlong8   发布时间: 2011-05-18

本帖最后由 kingwmj 于 2011-05-18 12:27 编辑


QUOTE:
楼主牛啊,用这么多从来没用过的东西。 readline 从来没用过啊,一般都用 ,词法变量是不能用名字访问的。
...
zhlong8 发表于 2011-05-18 11:18


楼上就不要笑话我了,你可是拿过大奖的人。我这都是基本的数据处理, 以前不用循环,全手动列出来,现在想偷懒了。

    <>以前试过,那次我是用数组当句柄用,结果不行,用readline就可以了。
这一次我也试过,<>不行,readline也不行。
词法变量是啥意思啊,经常见,不知其意。

作者: kingwmj   发布时间: 2011-05-18

你把句柄组放在HASH或者Array里面处理好了

作者: ttcn_cu   发布时间: 2011-05-18