+ -
当前位置:首页 → 问答吧 → 文本处理问题

文本处理问题

时间:2011-07-01

来源:互联网

[root@click365-test1 perl]# cat aa.txt
aaaaaaa
bbbbbbb
ccccccc
ddddddd
[root@click365-test1 perl]# cat bb.txt
AAAAAAAA
BBBBBBBB
CCCCCCCC
DDDDDDDD
[root@click365-test1 perl]# cat point.pl
#!/usr/bin/perl
#auth youcz
open(HD1,'aa.txt') || die;
open(HD2,'bb.txt') || die;
sub readit{
        $a1=@_[0];
        $a2=@_[1];
        print $a1,$a2,"\n";
        while(<HD1>){
                print;
        }
}


&readit(HD1,HD2);


怎么重定向到一个新文件,实现一行小写一行大写的效果
谢谢

作者: youcz   发布时间: 2011-07-01

用个 while 就行了啊,在 scalar context 下一次只读一行。还有最后一行bareword 句柄不能这么传参

作者: zhlong8   发布时间: 2011-07-01

本帖最后由 perlplus33 于 2011-07-01 23:00 编辑
  1. 用个笨方法:
  2. #!/usr/bin/perl;
  3. #read aa and bb, output to cc.txt with one line aa and one line bb;
  4. open (FHa, "aa.txt");
  5. open (FHb, "bb.txt");
  6. open (FHc, ">>cc.txt");
  7. @fhb=<FHb>;
  8. $count=0;
  9. while (<FHa>) {
  10.     print FHc $_;
  11.     print FHc $fhb[$count];
  12.     $count++;
  13. }
  14. close FHa;
  15. close FHb;
  16. close FHc;
复制代码

作者: perlplus33   发布时间: 2011-07-01

热门下载

更多