格式变量
$~ 中 ($FORMAT_NAME) 格式名字
$^ ($FORMAT_TOP_NAME) 当前的表头格式名字存储在
$% ($FORMAT_PAGE_NUMBER) 当前输出的页号
$= ($FORMAT_LINES_PER_PAGE) 每页中的行数
$| ($FORMAT_AUTOFLUSH) 是否自动刷新输出缓冲区存储
$^L ($FORMAT_FORMFEED) 在每一页(除了第一页)表头之前需要输出的字符串存储在
注:这些变量以文件句柄为基础设定,因此你需要 select 与特定格式关联的文件句柄来影响这些格式变量
调用输出
write
最后直接用write函数来显示格式化的文本内容.
多页报表
$% 当前输出的页面编号
$= 页中的行数
$- 还有多少剩下的行数
在使用输出时,最好建一个表的顶部输出.这样看起来会好看很多.
实例代码:
#!/usr/bin/perl
use strict;
use warnings;
my ($name,$login,$office,$uid,$gid, $home);
open FD,"</etc/passwd" or die "$?";
while(<FD>){
($name,$login,$office,$uid,$gid, $home) = split (":",$_);
$^ = 'STDOUT_TOP';
$~ = 'STDOUT';
$= = 39;
write;
}
format STDOUT_TOP =
@>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
"Page $%"
Passwd File
Name Login Office Uid Gid Home
------------------------------------------------------------------
.
format STDOUT =
@<<<<<<<<<<<<<<<<<< @||||||| @<<<<<<@>>>> @>>>> @<<<<<<<<<<<<<<<<<
$name, $login, $office,$uid,$gid, $home
.
输出如下
Page 3
Passwd File









