0

如何为从文本文件中获得的一组数字添加前缀和后缀。我已经编写了代码,但它显示了一些错误。

我的文本文件包含数字

1
2
3
4
5
6

输出应该像

                                3r_1.pdb
                                3r_2.pdb
                                .
                                .
                                3r_6.pdb

该程序:-

open(FILE,"text.txt");
open(OUT,">output.txt");
while($file=<FILE>)
{
$f= "3r_";
$e= ".pdb";
chomp($file);
print OUT "$f$file$e\n";

}

我无法理解错误实际上在哪里。

4

2 回答 2

2

由于模式是相同的,我会这样做:

use strict;
use warnings;

open(my $in, "<", "text.txt") or die $!;
open(my $out, ">", "output.txt") or die $!;

while (my $line = <$in>)
{
  chomp ($line);
  print $out "3r_" . $line . ".pdb\n";
}

close ($in);
close ($out);

你应该永远use strict; use warnings;。在现代 Perl 中,最好也对文件使用三参数 open。它更清晰,让程序更有效率。

于 2013-04-18T04:09:39.843 回答
0

也许以下内容会有所帮助:

use strict;
use warnings;

while (<>) {
    chomp;
    print "3r_$_.pdb\n";
}

用法:perl script.pl text.txt >output.txt

这让 Perl 可以处理文件 i/o,也就是说,您不需要openclose任何文件。text.txt中的每一行都被读取和chomp编辑。Perl 的默认标量$_用于创建最终文件名。

于 2013-04-18T04:47:40.140 回答