我正在尝试从Perl写入文件.我只想以制表符分隔格式编写数据.但是,我写的数据有不同的长度,并没有排队.
例如,我想写这样的东西:
Name Education Fav_Car MoneyInBank josh High School Porche 500 SomeOtherName PHD Hyundai 50000
我只是希望数据与我在顶部的标题排成一行.
我输出的数据如下:
printf FILE ("%s%20s%20s\n", "Name", "Ed", "Car"); while (($name, $ed, $car) = $sth->fetchrow_array) { printf FILE ("%s>>>>>>>>>>>>>%40s%40s\n", $name, $ed, $car); };
cjm.. 28
制表符分隔的数据(字段长度不一致)在文本编辑器中打开时不会排列.
解决方案:
在电子表格中打开文件.
在文字处理器中打开它,选择所有文本,并定义适当的制表位.(谢谢,Justsalt)
在文本编辑器中,将标签宽度设置为大于任何字段的值.
使用空格而不是制表符(例如,printf
使用字段宽度或格式).
例如,您可以使用
printf("%-15s %-15s %-10s %9s\n", $name, $edu, $car, $cash);
该-
后%
要离开的原因领域有道理的.数字(如钱)通常是右对齐的(这是默认值).
制表符分隔的数据(字段长度不一致)在文本编辑器中打开时不会排列.
解决方案:
在电子表格中打开文件.
在文字处理器中打开它,选择所有文本,并定义适当的制表位.(谢谢,Justsalt)
在文本编辑器中,将标签宽度设置为大于任何字段的值.
使用空格而不是制表符(例如,printf
使用字段宽度或格式).
例如,您可以使用
printf("%-15s %-15s %-10s %9s\n", $name, $edu, $car, $cash);
该-
后%
要离开的原因领域有道理的.数字(如钱)通常是右对齐的(这是默认值).
看看Perl format命令.