我正在使用Perl脚本,该脚本使用glob
检查目录的内容,然后将输出写入新文件。但是文件中的每个条目都使用空格分隔,我需要它来打印新行中的每个条目。我的代码就像这样
open(New, ">/u/smanik/xyz.txt");
@files = glob('/user/manik/*.csv');
$size = @files;
print "Total no of files: $size \n";
print New @files;
open(New, "/user/manik/xyz.txt");
while ( <New> ) {
print "$_";
}
close(New);
这是通过在文件中打印
来提供输出/user/manik/A.csv /user/manik/B.csv
但我需要将它打印在像
这样的文件中A.csv
B.csv
C.csv
我尝试在第五行添加\n
,但这不起作用。
答案 0 :(得分:0)
如果您希望它打印换行符,您需要告诉它。
my @foo = (1, 2, 3);
print @foo;
这将打印
123
那是因为数组@foo
被视为print
的参数列表,它将一个接一个地输出所有参数。
my @foo = (1, 2, 3);
print "@foo";
现在这将打印
1 2 3
因为正在使用""
output field separator插入双引号$,
字符串中的数组,默认情况下这是一个空格。
如果您希望它使用换行符,最简单的方法是使用\n
join
数组生成一个字符串作为print
的参数。
my @foo = ( 1, 2, 3 );
print join "\n", @foo;
那会给你
1
2
3