Perl 教程 之 Perl 格式化输出 2

简介: Perl 格式化输出

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

4000.00

目录
相关文章
|
6月前
|
存储 数据处理 数据格式
|
6月前
|
数据处理 Perl
|
6月前
|
存储 人工智能 BI
|
6月前
|
Perl
|
6月前
|
Perl
|
6月前
|
Perl
|
6月前
|
存储 人工智能 BI
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 7
Perl教程讲解了其强大的正则表达式功能,用于字符串匹配、查找、替换和提取。示例展示如何使用`/s`删除变量`$string`中的重复字符,输出结果为原字符串。其他实例包括将非数字字符替换为空格,删除tab和空格,以及将数字间字符替换为单个空格。
48 3
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 6
**Perl正则表达式强大多能,常用于字符串匹配、替换和提取。转化操作符如`tr`用于字符转换,如将所有小写字母转大写:`$string =~ tr/a-z/A-Z/`。**
50 2
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 5
Perl正则表达式教程第五节介绍替换操作修饰符:i-不区分大小写,m-^和$匹配每行,o-表达式只执行一次,s-.&quot;包含换行符,x-忽略空格,g-替换所有匹配项,e-将替换字符串当作表达式执行。Perl的正则功能极强,影响了多种语言的设计。
37 1