Perl 当我将一个文件读入数组并打印它时,为什么在第一行之后的每行开头都有额外的空白?
我正在将一个文件读入一个数组并打印如下内容:Perl 当我将一个文件读入数组并打印它时,为什么在第一行之后的每行开头都有额外的空白?,perl,Perl,我正在将一个文件读入一个数组并打印如下内容: open (FILE, "ans.txt"); @file = <FILE>; print "@file\n"; 51.5440622646247 - 31.2571428571429 51.5440622646247 - 48.0616834439923 但输出在第一行之后的每行开头都有额外的空间: 51.5440622646247 - 31.2571428571429 51.5440622646247 - 48.0616834
open (FILE, "ans.txt");
@file = <FILE>;
print "@file\n";
51.5440622646247 - 31.2571428571429
51.5440622646247 - 48.0616834439923
但输出在第一行之后的每行开头都有额外的空间:
51.5440622646247 - 31.2571428571429
51.5440622646247 - 48.0616834439923
是什么原因导致此问题以及如何解决此问题?将文件行作为列表传递给
打印,而不是在字符串中插入:
print @file, "\n";
出现问题的原因是,当插入数组“@file\n”
时,它等效于以下内容:
print join($", @file) . "\n";
在中搜索$LIST\u SEPARATOR
以获取更多信息。将文件行作为列表传递给打印,而不是在字符串中插入:
print @file, "\n";
出现问题的原因是,当插入数组“@file\n”
时,它等效于以下内容:
print join($", @file) . "\n";
在中搜索$LIST\u SEPARATOR
以获取更多信息。这种情况会发生,因为当您打印插入的@array
时,例如在双引号“@arr”
内,perl会在数组元素之间放置一个分隔符。默认值为空格。它出现在第二行,因为数组@file
的元素也包含\n
字符。这是因为当您打印插值@array
时,例如在双引号“@arr”
内,perl会在数组元素之间放置分隔符。默认值为空格。它出现在第二行,因为数组@file
的元素也包含\n
字符answer@AymanSalah该评论是对另一个人的评论的回复,该评论已被删除。我的回复也被删除了。有什么问题answer@AymanSalah该评论是对另一个人的评论的回复,该评论已被删除。也删除了我的回复。