perl学习笔记八----格式化输出

    技术2025-12-21  6

      格式化输出 在一个perl中可以有多个format。 一 打印的基本步骤 1、将系统变量$~设成所要使用的格式       2、调用函数write      函数write将结果输出到标准输出文件STDOUT,我们也可以使它将结果  输出到任意其它的文件中。最简单的方法就是把文件变量作为参数传递给write      例如 write (MYFILE); 也可以通过如下方式      例如 select(MYFILE)       $~ = "MYFORMAT";       write; 二 输出变量 如果在子程序中调用需要注意局部变量的作用域。另外输出的格式有 如下几种: @<<<  左对齐输出  @>>>  右对齐输出  @|||  中对齐输出  @##.##     固定精度数字     @*  多行文本  每行的长度就是< > |的个数。 针对转义字符@<>作为平常字符输出的时候采用“”方式。 格式的声明如下: format WRITELETTER = ********************************** @: @<<<<<< $a,$b ********************************** . 三 带附加讯息的格式化输出 3.1 分页输出 设置页眉 format STDOUT_TOP =      Consolidated Widgets Inc. 1994 Annual Report      . 设置页的行数,默认是60 $= = 66 此赋值语句必须出现在第一个write语句前。 3.2 格式化字串的长度 在Perl中对长字符串(包含换行)进行格式化的值域定义很简单,只需把 打头的@字符换成^就行了,这种文本格式化中,Perl解释器在一行中放置尽可能多 的单词。每当输出一行文本,被输出的子串就从变量中删除,再次在域值中使用该 变量就把剩下的字符串继续按格式输出。当内容已输出完毕,该变量就成了空串, 再输出就会输出空行,为避免输出空行,可以在值域格式行首加一个~字符。 很明显,当字符串长度不明确时,这种用法很不方便,原因就在于它指明 了输出的行数上限,超过这一上限的字符就不会被输出,解决方法很简单,就是在 域值格式行首加两个~字符,这样就会持续按格式输出文本直到输出完毕。    例如 format MYFORMAT = =================================== Here is the text I want to display. ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $quotation
    最新回复(0)