本文和大家重点学习一下Perl格式化输出的概念,在一个Perl中可以有多个format,这里主要从三个方面来向大家介绍,相信通过本文的学习你对Perl格式化输出的概念一定会有深刻的了解。
Perl学习笔记----Perl格式化输出
一、打印的基本步骤
1、将系统变量$~设成所要使用的格式
2、调用函数write
函数write将结果输出到标准输出文件STDOUT,我们也可以使它将结果输出到任意其它的文件中。最简单的方法就是把文件变量作为参数传递给write
例如write(MYFILE);
也可以通过如下方式
例如select(MYFILE)
$~="MYFORMAT";
write;
二、Perl格式化输出之输出变量
如果在子程序中调用需要注意局部变量的作用域。另外输出的格式有如下几种:
@<<<左对齐输出
@>>>右对齐输出
@|||中对齐输出
@##.##固定精度数字
@*多行文本
每行的长度就是<>|的个数。
针对转义字符@<>作为平常字符输出的时候采用“”方式。
格式的声明如下:
formatWRITELETTER=
**********************************
@:@<<<<<<
$a,$b
**********************************
三、带附加讯息的Perl格式化输出
3.1分页输出
设置页眉
formatSTDOUT_TOP=
ConsolidatedWidgetsInc.1994AnnualReport
.
设置页的行数,默认是60
$==66
此赋值语句必须出现在第一个write语句前。
3.2格式化字串的长度
在Perl中对长字符串(包含换行)进行格式化的值域定义很简单,只需把打头的@字符换成^就行了,这种文本格式化中,Perl解释器在一行中放置尽可能多的单词。每当输出一行文本,被输出的子串就从变量中删除,再次在域值中使用该变量就把剩下的字符串继续按格式输出。当内容已输出完毕,该变量就成了空串,再输出就会输出空行,为避免输出空行,可以在值域格式行首加一个~字符。
很明显,当字符串长度不明确时,这种用法很不方便,原因就在于它指明了输出的行数上限,超过这一上限的字符就不会被输出,解决方法很简单,就是在域值格式行首加两个~字符,这样就会持续按格式输出文本直到输出完毕。
例如formatMYFORMAT=
===================================
HereisthetextIwanttodisplay.
~~^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$quotation
【编辑推荐】