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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
學(xué)習(xí)筆記 詳解Perl格式化輸出

本文和大家重點(diǎn)討論一下Perl格式化輸出的概念,我們已經(jīng)見過用print函數(shù)將原始的未格式化的文本輸出到文件,本章講述如何用函數(shù)write和打印格式來生成格式化的輸出。

保山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

Perl格式化輸出

我們已經(jīng)見過用print函數(shù)將原始的未格式化的文本輸出到文件,本章講述如何用函數(shù)write和打印格式來生成格式化的輸出。

一、Perl格式化輸出之定義打印格式

定義打印格式的關(guān)鍵字為format,語法為:

formatformatname=
lines_of_output

◆打印格式名formatname的命名規(guī)則與一般變量相同。結(jié)束行為一個(gè)句號(hào),此行不能有任何其它字符,包括空格,句號(hào)必須是該行第一個(gè)字符。
打印格式的定義象子程序一樣可以放在任何地方,甚至可以放在條件語句中,但是最好把它們集中放在程序的開頭或結(jié)尾。

二、Perl格式化輸出之顯示打印格式

打印格式的顯示有兩步:
1、將系統(tǒng)變量$~設(shè)成所要使用的格式
2、調(diào)用函數(shù)write
例如:

 
 
 
 
  1. 1:#!/usr/local/bin/perl  
  2. 2:  
  3. 3:$~="MYFORMAT";  
  4. 4:write;  
  5. 5:  
  6. 6:formatMYFORMAT=  
  7. 7:===================================  
  8. 8:HereisthetextIwanttodisplay.  
  9. 9:===================================  
  10. 10:.  

結(jié)果輸出如下:

$program
===================================
HereisthetextIwanttodisplay.
===================================
$
如果不用$~指定打印格式,Perl解釋器就假定要使用的格式名與要寫入的文件變量同名,在本例中,如果不指定使用MYFORMAT,則Perl解釋器試圖使用名為STDOUT的打印格式。

三、Perl格式化輸出之在打印格式中顯示值

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

1、通用的打印格式

打印格式的一個(gè)缺點(diǎn)是定義中包含了變量名,例如:

 
 
 
 
  1. formatMYFORMAT=  
  2. ==========================================================  
  3. Thewinningnumberis@<<<<<
  4. $winnum 
  5. ========================================================== 

◆當(dāng)調(diào)用write輸出此格式時(shí),必須記著它使用了變量$winnum。用子程序和局域變量就可以創(chuàng)建更通用的打印格式。

2、格式和局域變量

在上例中,你可能已經(jīng)注意到子程序write_letter調(diào)用write輸出字母及其出現(xiàn)次數(shù),即使格式定義在子程序外部仍能正常工作。在第17行中將字母及其出現(xiàn)次數(shù)傳遞給該子程序,在子程序中,打印格式使用局域變量$letter和$value,這樣保證了在foreach循環(huán)中每次輸出當(dāng)前的字母和值。
然而要注意的是,使用my定義的局域變量要求格式定義在子程序內(nèi)部,否則就不會(huì)輸出,因此,用write輸出的局域變量一定要用local定義。(local和my詳見《子程序》一章)
注:Perl4中沒有my函數(shù),故不會(huì)有此問題。

3、選擇值域格式

我們已經(jīng)知道了打印格式和write函數(shù)怎么工作,現(xiàn)在來看看值域的格式,見下表:

每個(gè)值域的第一個(gè)字符是行填充符,當(dāng)使用@字符時(shí),不做文本格式化。對(duì)文本的格式化稍后來講。
在上表中,除了多行值域@*,域?qū)挾嫉扔谄渲付ǖ陌址鸃在內(nèi)的字符個(gè)數(shù),例如:
@###.##
表示七個(gè)字符寬,小數(shù)點(diǎn)前四個(gè),小數(shù)點(diǎn)后兩個(gè)。

4、輸出值域字符

在打印格式里,特定字符如@、<和>被看作值域定義,那么如何將它們輸出呢?方法如下:

formatSPECIAL=
Thislinecontainsthespecialcharacter@.
"@"

【編輯推薦】

  1. Perl if語句用法實(shí)例解析
  2. Perl文件句柄概念詳解
  3. 實(shí)例解析Perl守護(hù)進(jìn)程用法
  4. Perl模式匹配經(jīng)驗(yàn)總結(jié)
  5. 術(shù)語匯編 Perl變量中Perl關(guān)聯(lián)數(shù)組用法解析

當(dāng)前文章:學(xué)習(xí)筆記 詳解Perl格式化輸出
標(biāo)題鏈接:http://www.dlmjj.cn/article/djhjsoh.html