Perl學習筆記----Perl格式化輸出詳解
本文和大家重點學習一下Perl格式化輸出的概念,在一個Perl中可以有多個format,這里主要從三個方面來向大家介紹,相信通過本文的學習你對Perl格式化輸出的概念一定會有深刻的了解。
Perl學習筆記----Perl格式化輸出
一、打印的基本步驟
1、將系統變量$~設成所要使用的格式
2、調用函數write
函數write將結果輸出到標準輸出文件STDOUT,我們也可以使它將結果輸出到任意其它的文件中。最簡單的方法就是把文件變量作為參數傳遞給write
例如write(MYFILE);
也可以通過如下方式
例如select(MYFILE)
$~="MYFORMAT";
write;
二、Perl格式化輸出之輸出變量
如果在子程序中調用需要注意局部變量的作用域。另外輸出的格式有如下幾種:
@<<<左對齊輸出
@>>>右對齊輸出
@|||中對齊輸出
@##.##固定精度數字
@*多行文本
每行的長度就是<>|的個數。
針對轉義字符@<>作為平常字符輸出的時候采用“”方式。
格式的聲明如下:
formatWRITELETTER=
**********************************
@:@<<<<<<
$a,$b
**********************************
三、帶附加訊息的Perl格式化輸出
3.1分頁輸出
設置頁眉
formatSTDOUT_TOP=
ConsolidatedWidgetsInc.1994AnnualReport
.
設置頁的行數,默認是60
$==66
此賦值語句必須出現在第一個write語句前。
3.2格式化字串的長度
在Perl中對長字符串(包含換行)進行格式化的值域定義很簡單,只需把打頭的@字符換成^就行了,這種文本格式化中,Perl解釋器在一行中放置盡可能多的單詞。每當輸出一行文本,被輸出的子串就從變量中刪除,再次在域值中使用該變量就把剩下的字符串繼續按格式輸出。當內容已輸出完畢,該變量就成了空串,再輸出就會輸出空行,為避免輸出空行,可以在值域格式行首加一個~字符。
很明顯,當字符串長度不明確時,這種用法很不方便,原因就在于它指明了輸出的行數上限,超過這一上限的字符就不會被輸出,解決方法很簡單,就是在域值格式行首加兩個~字符,這樣就會持續按格式輸出文本直到輸出完畢。
例如formatMYFORMAT=
===================================
HereisthetextIwanttodisplay.
~~^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$quotation
【編輯推薦】