perl:将行连接成一个字符串

时间:2015-11-12 00:34:51

标签: perl

我有一个看起来像这样的文件:

hellothisisline1
andthisisline2hi
yepthisistheline

我想将这些行连接成一个字符串

hellothisisline1andthisisline2hiyepthisistheline

print "Input file name \n";
open (FILE, <>);
$string = "";
while($line = <FILE>) {
   $string = $string . "" . $line;
}
print "$string \n";

但这似乎不起作用,输出是原始格式的文件。

2 个答案:

答案 0 :(得分:0)

如果您使用的是Perl5,chomp对于删除字符串末尾的换行符非常有用。

print "Input file name \n";
open (FILE, <>);
$string = ""; 
while($line = <FILE>) {
    chomp($line); # add this line
    $string = $string . "" . $line;
}
print "$string \n";

答案 1 :(得分:-1)

使用chomp功能删除换行符。 地图将chomp函数应用于每一行,并且连接将所有行组合在一起。

print "Input file name \n";
open (FILE, <>);
$string = join('', map { chomp; $_ } <FILE>);
print "$string \n";

还可以使用&#34; tr&#34;在压缩文件后删除换行符:

print "Input file name \n";
open (FILE, <>);
($string = join('', <FILE>)) =~ tr/\n//d;
print "$string \n";