Perl 教程 之 Perl 格式化输出 2
Perl 格式化输出
Perl 是一个非常强大的文本数据处理语言。
Perl 中可以使用 format 来定义一个模板,然后使用 write 按指定模板输出数据。
格式行(图形行)语法
格式行以 @ 或者 ^ 开头,这些行不作任何形式的变量代换。
@ 字段(不要同数组符号 @ 相混淆)是普通的字段。
@,^ 后的 <, >,| 长度决定了字段的长度,如果变量超出定义的长度,那么它将被截断。
<, >,| 还分别表示,左对齐,右对齐,居中对齐。
^ 字段用于多行文本块填充。
值域格式
值域的格式,如下表所示:
格式 值域含义
@<<< 左对齐输出
@>>> 右对齐输出
@||| 中对齐输出
@##.## 固定精度数字
@* 多行文本
每个值域的第一个字符是行填充符,当使用@字符时,不做文本格式化。
在上表中,除了多行值域@*,域宽都等于其指定的包含字符@在内的字符个数,例如:
@###.##
表示七个字符宽,小数点前四个,小数点后两个。
实例如下:
实例
!/usr/bin/perl
format EMPLOYEE =
@<<<<<<<<<<<<<<<<<<<<<< @<<
$name, $age
@#####.##
$salary
.
select(STDOUT);
$~ = EMPLOYEE;
@n = ("Ali", "baidu", "Jaffer");
@a = (20,30, 40);
@s = (2000.00, 2500.00, 4000.000);
$i = 0;
foreach (@n){
$name = $_;
$age = $a[$i];
$salary = $s[$i++];
write;
}
以上实例输出结果为:
===================================
Ali 20
2000.00
===================================
baidu 30
2500.00
===================================
Jaffer 40