printf与Perl位于同一行

时间:2013-04-07 17:51:40

标签: perl formatting printf

我希望我的printf函数将输出写入这样的文件:

name      age      gpa

相反,它是这样写的:

name
age
gpa

这是我的代码,非常感谢所有帮助。

printf FILE "%-0.25s %3s %4s\n", @get_name, @get_age, @get_gpa;

1 个答案:

答案 0 :(得分:3)

您的值可能包含换行符。使用chomp删除它们。此外,使用标量值而不是数组作为printf的参数更安全 - 否则,如果@get_name中有多个值,则不会打印@get_gpa:

chomp for $get_name[0], $get_age[0], $get_gpa[0];
printf FILE "%-0.25s %3s %4s\n", $get_name[0], $get_age[0], $get_gpa[0];