Shell 如何删除Perl中不可见的新行字符

Shell 如何删除Perl中不可见的新行字符,shell,perl,Shell,Perl,我正在用perl编写一个shell脚本,它从两个数据库中获取值并进行比较。脚本完成后,它将输出一个报告,该报告的格式应为: 表名称数据库1中的日期值与数据库2中的值之间的差异 输出被打印到报告文件中,但即使将其输出到命令控制台,其外观如下所示: tablename 2017-06-20 7629628 7629628 0 下面是生成字符串并将其输出到文件的代码: $outputstring="$tablelist[0] $DATErowcount0[$output_itera

我正在用perl编写一个shell脚本,它从两个数据库中获取值并进行比较。脚本完成后,它将输出一个报告,该报告的格式应为:

表名称数据库1中的日期值与数据库2中的值之间的差异

输出被打印到报告文件中,但即使将其输出到命令控制台,其外观如下所示:

tablename    2017-06-20  7629628
 7629628
 0
下面是生成字符串并将其输出到文件的代码:

$outputstring="$tablelist[0]    $DATErowcount0[$output_iteration]  $rowcount0[$output_iteration] $TDrowcount0[$output_iteration] $count_dif\n";
print FILE $outputstring;
$rowcount0[$output\u iteration]之后和$count\u dif之前似乎隐藏了一个换行符。我需要做些什么来修复此问题/将其全部打印在一行中

要用值填充数组,需要从SQL命令创建的文件中读取值

下面是一些代码:

`$num_from_TDfile=substr $r2, 16;
$date_from_TDfile = substr $r2, 0, 12;
$TDrowcount0[$TDnum_rows0]=$num_from_TDfile;
$DATETDrowcount0[$TDnum_rows0]=$date_from_TDfile;
$TDnum_rows0=$TDnum_rows0+1;`

按照tadman的建议,将
chomp
添加到从文件中提取的每个字符串中,修复了输出,使其全部位于一行,而不是问题示例中的三行。

使用多个不相关的数组而不是数组数组,这使得此代码非常笨拙。想想你是如何捕获这些数据的。您的一些数据需要进行
chomp
处理。您的问题应该包括填充
@tablelist
和其他数组的代码。感谢您的想法,我将尝试为数组添加chomp语句。两个数据库使用的数组填充方式与上面的代码相同