zoukankan      html  css  js  c++  java
  • 格式化输出

    一、定义打印格式,format

    format formatnem = 

    二、显示打印格式

      1. 将系统变量$~设成所要使用的格式

      2. 调用函数write

    三、在打印格式中显示值

      1. 通用的打印格式

      2. 格式和局部变量

      3. 选择值域格式

      4. 输出值域字符

    四、 输出到其他文件

      缺省地,函数write将结果输出到标准输出文件STDOUT,我们也可以使它将结果输出到任意其它的文件中。最简单的方法就是把文件变量作为参数传递给write,如:
         write (MYFILE);
        这样,write就用缺省的名为MYFILE的打印格式输出到文件MYFILE中,但是这样就不能用$~变量来改变所使用的打印格式。系统变量$~只对缺省文件变量起作用,我们可以改变缺省文件变量,改变$~,再调用write,例如:
         select (MYFILE);
         $~ = "MYFORMAT";
         write;

    五、分页

      在输出到打印机时,可以在每页顶部输出相应的信息,这样的特殊文本叫页眉。定义页眉实际上就是定义名为filename_TOP的打印格式,例如给标准输出文件定义页眉如下:
         format STDOUT_TOP =
         Consolidated Widgets Inc. 1994 Annual Report
         .
        在页眉的定义中也可以包含值域,页眉中经常使用的一个特殊值是当前页码,存贮在系统变量$%中,如:
         format STDOUT_TOP =
         Page @<<.
         $%
         .
        我们也可以通过改变系统变量$^改变定义页眉的打印格式名,与$~一样,$^只对当前缺省文件起作用,因此可以与select函数结合使用。
        缺省情况下,每页长度为60行,可以通过改变$=来改变页长,如:
         $= = 66; #页长设为66行
        此赋值语句必须出现在第一个write语句前。
        注:一般使用分页机制时不用print函数,因为当用write输出时,Perl解释器跟踪每页的当前行号。如果必须使用print而又不打乱页计数,可以调整系统变量$-。$-的含义是当前行到页末之间的行数,当$-达到零时,就开始新的一页,调整方法如:
         print ("Here is a line of output ");
         $- -= 1;

    六、格式化长字符串

      我们已经学过值域@*可以输出多行文本,但它完全将字符串原样输出,不加以格式化。在Perl中对长字符串(包含换行)进行格式化的值域定义很简单,只需把打头的@字符换成^就行了,这种文本格式化中,Perl解释器在一行中放置尽可能多的单词。每当输出一行文本,被输出的子串就从变量中删除,再次在域值中使用该变量就把剩下的字符串继续按格式输出。当内容已输出完毕,该变量就成了空串,再输出就会输出空行,为避免输出空行,可以在值域格式行首加一个~字符。

    七、用printf格式化输出

  • 相关阅读:
    cisco 4500X 交换机限速
    HPE 交换机基础配置
    MySQL数据库之主从复制
    MySQL复制线程状态转变
    MySQL数据库备份之mysqldump
    MySQL数据库之慢查询日志
    MySQL数据库之多线程备份工具mydumper
    MySQL数据库之索引
    MySQL之二进制日志
    MySQL数据库之sql_mode解释
  • 原文地址:https://www.cnblogs.com/yiyi-xuechen/p/4421984.html
Copyright © 2011-2022 走看看