4-2 基本輸入與輸出

文章推薦指數: 80 %
投票人數:10人

while () { print; }. 在上例中,Perl 會自動取用虛擬變數來取代來取代line 的角色。

若要顯示由命令列(Command Line)所送進來的檔案,可使用下列程式 ... 4-2基本輸入與輸出 對Perl來說,標準輸入就是鍵盤,可用來表示,因此若要從鍵盤讀取使用者的輸入,可用下列範例程式碼(tstdin1.pl): 原始檔(tstdin1.pl):(灰色區域按兩下即可拷貝)while($line=){ print$line; } 以上範例可以簡化如下(tstdin2.pl): 原始檔(tstdin2.pl):(灰色區域按兩下即可拷貝)while(){ print; } 在上例中,Perl會自動取用虛擬變數$_來取代$line的角色。

若要顯示由命令列(CommandLine)所送進來的檔案,可使用下列程式碼(tcmd1.pl): 原始檔(tcmd1.pl):(灰色區域按兩下即可拷貝)while(defined($line=<>)){ print$line; } 亦可簡化如下(tcmd2.pl): 原始檔(tcmd2.pl):(灰色區域按兩下即可拷貝)while(<>){ print; } 在上例中,「<>>」即代表存放於陣列變數@ARGV的檔案名稱,或是由命令列送入的檔案名稱。

因此若輸入下列命令: perltcmd1.pltstdin1.pltstdin2.pl 螢幕即會印出tstdin1.pl和tstdin2.pl兩檔案的內容,其功能和DOS下的type命令或UNIX下的cat命令是相同的。

若要將訊息列印至標準輸出(即螢幕),可使用print命令,例如下面兩獵程式碼,都可將"Thisisatest!"送至螢幕: print"Thisisatest!\n"; print("Thisisatest!\n"); 其中「\n」代表換行符號。

print也可以接受由逗點分開的字串,所以上面的程式碼也可以寫成: print("This","isatest!","\n"); print還有一個特異功能,可以產生所謂的HereDocument,例如(tprint1.pl): 原始檔(tprint1.pl):(灰色區域按兩下即可拷貝)print< ThisisatesthomepagereturnedbyaPerlprogram!

END_OF_DOC 在上例中,print會印出其後的各列文字,直到END_OF_DOC出現為止。

(當然,你也可以將END_OF_TEXT改成任何與所印出訊息不相干的文字,例如END_OF_TEXT或END_OF_HTML等。

) 若要產生較複雜的輸出,就必須靠printf命令,其用法和C語言的printf幾乎是一致的,例如: printf("%10s%8d\t%5.3f\n",$str,$integ,$real); 上述程式碼將會使用10個字元的欄位來印出字串$str,接一個空白,再用8個字元的欄位來印出整數$integ,接一個空白,再接一個定位鍵(Tab,\t),然後用5個字元的欄位(整數部分佔了三個字元)來印出浮點數$real。

讀者可由電腦命令列輸入「perldoc-fprintf」來取得更多有關printf的說明。

Perl



請為這篇文章評分?