日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
全面認(rèn)識Perl格式化輸出用法

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

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供梓潼企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、html5、小程序制作等業(yè)務(wù)。10年已為梓潼眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

Perl格式化輸出

一、打印格式

1、將系統(tǒng)變量$~設(shè)成所要使用的格式

2、調(diào)用函數(shù)write

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

二、在打印格式中顯示值

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

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

值域格式

@<<<左對齊輸出

@>>>右對齊輸出

@|||中對齊輸出

@##.##固定精度數(shù)字

@*多行文本

每個(gè)值域的***個(gè)字符是行填充符,當(dāng)使用@字符時(shí),不做文本格式化。

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

三、輸出到其它文件

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

write(MYFILE);

這樣,write就用缺省的名為MYFILE的打印格式輸出到文件MYFILE中,但是這樣就不能用$~變量來改變所使用的打印格式。系統(tǒng)變量$~只對缺省文件變量起作用,我們可以改變?nèi)笔∥募兞?,改?~,再調(diào)用write。

當(dāng)select改變?nèi)笔∥募兞繒r(shí),它返回當(dāng)前缺省文件變量的內(nèi)部表示,這樣我們就可以創(chuàng)建子程序,按自己的想法輸出,又不影響程序的其它部分。

四、分頁

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

在頁眉的定義中也可以包含值域,當(dāng)前頁碼存貯在系統(tǒng)變量$%中。

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

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

注:一般使用分頁機(jī)制時(shí)不用print函數(shù),因?yàn)楫?dāng)用write輸出時(shí),Perl解釋器跟蹤每頁的當(dāng)前行號。如果必須使用print而又不打亂頁計(jì)數(shù),可以調(diào)整系統(tǒng)變量$-。$-的含義是當(dāng)前行到頁末之間的行數(shù),當(dāng)$-達(dá)到零時(shí),就開始新的一頁。#p#

五、格式化長字符串

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

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

當(dāng)字符串長度不明確時(shí)在域值格式行首加兩個(gè)~字符,這樣就會持續(xù)按格式輸出文本直到輸出完畢。

六、用printf格式化輸出

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

各種域值形式如下表:

%c單個(gè)字符

%d十進(jìn)制整數(shù)

%e科學(xué)計(jì)數(shù)法形式的浮點(diǎn)數(shù)

%f普通形式(定點(diǎn))浮點(diǎn)數(shù)

%g緊縮形式浮點(diǎn)數(shù)

%o八進(jìn)制整數(shù)

%s字符串

%u無符號整數(shù)

%x十六進(jìn)制整數(shù)

一些使用細(xì)節(jié)如下:

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

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

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

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


名稱欄目:全面認(rèn)識Perl格式化輸出用法
鏈接地址:http://www.dlmjj.cn/article/dhceiji.html