成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面認識Perl格式化輸出用法

開發 架構
Perl格式化輸出的概念你是否了解,本文從六個方面向大家來介紹一下,希望通過本文的介紹大家對Perl格式化輸出的概念有明確的認識。

本文和大家重點討論一下Perl格式化輸出的概念,主要包括打印格式,輸出到其它文件,分頁和格式化長字符串等內容,相信通過本文的介紹大家對Perl格式化輸出的用法有一定的了解。

Perl格式化輸出

一、打印格式

1、將系統變量$~設成所要使用的格式

2、調用函數write

如果不用$~指定打印格式,Perl解釋器就假定要使用的格式名與要寫入的文件變量同名。

二、在打印格式中顯示值

我們使用打印格式的主要原因當然是格式化存貯在簡單變量或數組變量中的值從而生成可讀性好的輸出,這一目的用“值域”來實現。每個值域指定一個值,如變量或表達式,調用write函數時,該值就以值域指定的格式顯示。

使用my定義的局域變量要求格式定義在子程序內部,否則就不會輸出,因此,用write輸出的局域變量一定要用local定義。

值域格式

@<<<左對齊輸出

@>>>右對齊輸出

@|||中對齊輸出

@##.##固定精度數字

@*多行文本

每個值域的***個字符是行填充符,當使用@字符時,不做文本格式化。

在打印格式里,特定字符如@、<和>被看作值域定義,需用"@"方式輸出字符本身。

三、輸出到其它文件

缺省地,函數write將結果輸出到標準輸出文件STDOUT,我們也可以使它將結果輸出到任意其它的文件中。最簡單的方法就是把文件變量作為參數傳遞給write,如:

write(MYFILE);

這樣,write就用缺省的名為MYFILE的打印格式輸出到文件MYFILE中,但是這樣就不能用$~變量來改變所使用的打印格式。系統變量$~只對缺省文件變量起作用,我們可以改變缺省文件變量,改變$~,再調用write。

當select改變缺省文件變量時,它返回當前缺省文件變量的內部表示,這樣我們就可以創建子程序,按自己的想法輸出,又不影響程序的其它部分。

四、分頁

在輸出到打印機時,可以在每頁頂部輸出相應的信息,這樣的特殊文本叫頁眉。定義頁眉實際上就是定義名為filename_TOP的打印格式。

在頁眉的定義中也可以包含值域,當前頁碼存貯在系統變量$%中。

我們也可以通過改變系統變量$^改變定義頁眉的打印格式名,與$~一樣,$^只對當前缺省文件起作用,因此可以與select函數結合使用。

缺省情況下,每頁長度為60行,可以通過改變$=來改變頁長,此賦值語句必須出現在***個write語句前。

注:一般使用分頁機制時不用print函數,因為當用write輸出時,Perl解釋器跟蹤每頁的當前行號。如果必須使用print而又不打亂頁計數,可以調整系統變量$-。$-的含義是當前行到頁末之間的行數,當$-達到零時,就開始新的一頁。#p#

五、格式化長字符串

我們已經學過值域@*可以輸出多行文本,但它完全將字符串原樣輸出,不加以格式化。

在Perl中對長字符串(包含換行)進行格式化的值域定義很簡單,只需把打頭的@字符換成^就行了,這種文本格式化中,Perl解釋器在一行中放置盡可能多的單詞。每當輸出一行文本,被輸出的子串就從變量中刪除,再次在域值中使用該變量就把剩下的字符串繼續按格式輸出。當內容已輸出完畢,該變量就成了空串,再輸出就會輸出空行,為避免輸出空行,可以在值域格式行首加一個~字符。

當字符串長度不明確時在域值格式行首加兩個~字符,這樣就會持續按格式輸出文本直到輸出完畢。

六、用printf格式化輸出

printf與C語言中的printf基本上是相同的。printf有兩個參數,一個是字符串,其中含有一個或多個域值形式,另一個是與各域值相對應的變量值按一定格式替換。

各種域值形式如下表:

%c單個字符

%d十進制整數

%e科學計數法形式的浮點數

%f普通形式(定點)浮點數

%g緊縮形式浮點數

%o八進制整數

%s字符串

%u無符號整數

%x十六進制整數

一些使用細節如下:

1、在格式d、o、u或x中,如果整數值較大或可能較大,可加個l字符,意為長整型,如%ld。

2、%字符后加正整數表示該域的最小寬度,如果輸出結果寬度不足,則向右對齊,前面用空格補足,如果該正整數以數字0打頭,則補足字符為0。若%字符后為負整數,則結果向右對齊。

3、浮點數域值(%c、%f和%g)中可以指定小數點前后的寬度,如%8.3f意為總寬度為8個字符,小數點后(即小數部分)為3個字符,多出的小數部分四舍五入。

4、在整數、字符或字符串的值域中使用如上的小數形式n.m,整數部分n為總寬度,小數部分m為輸出結果的***寬度,這樣就保證了輸出結果前至少有n-m個空格。

【編輯推薦】

 

  1. 全面解析Perl命令行應用
  2. Perl文件句柄概念詳解
  3. 解析四大Perl操作符用法
  4. Perl命令行用法解析
  5. 學習筆記 Perl數字與字符串間的自動轉換

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-16 15:44:57

Perl格式化輸出

2010-07-21 14:25:24

Perl格式化輸出

2010-07-15 11:29:25

Perl格式化輸出

2010-07-16 16:00:08

Perl格式化輸出

2010-07-16 10:14:09

Perl子程序

2010-07-16 15:23:34

Perl格式化輸出

2010-07-16 14:37:26

Perl格式化輸出

2010-07-26 17:01:03

Perl包

2010-07-23 16:16:43

Perl進程處理函數

2010-07-14 14:30:31

Perl操作符

2024-01-08 22:03:22

python代碼開發

2010-07-15 17:50:47

Perl模式

2010-07-14 15:05:21

Perl文件句柄

2010-07-29 09:00:29

Flex彈出窗口

2009-09-04 11:19:40

C#數字格式化

2010-07-14 09:47:04

Perl正則表達式

2020-09-02 07:19:41

printf 格式化輸出Unix

2010-09-03 10:43:05

CSSmargin

2010-07-13 16:56:30

Perl正則表達式

2023-04-11 10:37:40

bash命令printf
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天色天天色 | 国产一区二区三区视频 | 成人精品福利 | 国产精品一级 | 日韩第1页| 精品福利一区 | 精品日韩| 一级看片 | 综合久久综合久久 | 国产精品亚洲精品久久 | 亚洲三区在线播放 | 国产日韩欧美一区二区 | 免费视频一区二区 | 日韩中文字幕网 | 男人的天堂中文字幕 | 91国内外精品自在线播放 | 最近免费日本视频在线 | 欧美一区二区三区的 | 成年人免费网站 | 日韩中文一区二区三区 | 久久久久亚洲视频 | 成人亚洲精品 | 盗摄精品av一区二区三区 | 国产成人高清视频 | 91精品久久久久 | 日韩精品久久一区 | 欧美日韩一区二区三区在线观看 | 精品久久国产老人久久综合 | 国产乱码精品1区2区3区 | 欧美一区二区三区在线播放 | 欧洲高清转码区一二区 | 国产精品不卡一区 | av免费观看在线 | 精品久久久久久国产 | 中文字幕视频一区 | 国内精品一区二区三区 | 精品美女视频在免费观看 | 国产福利免费视频 | 精品videossex高潮汇编 | 一区二区在线 | 成人精品 |