4-2 基本輸入與輸出
文章推薦指數: 80 %
while (
若要顯示由命令列(Command Line)所送進來的檔案,可使用下列程式 ...
4-2基本輸入與輸出
對Perl來說,標準輸入就是鍵盤,可用來表示,因此若要從鍵盤讀取使用者的輸入,可用下列範例程式碼(tstdin1.pl):
原始檔(tstdin1.pl):(灰色區域按兩下即可拷貝)while($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
延伸文章資訊
- 1Prompt, read from STDIN, read from the keyboard in Perl
Prompt, read from STDIN, read from the keyboard in Perl ... use strict;; use warnings;; print "Yo...
- 24-2 基本輸入與輸出
while (<STDIN>) { print; }. 在上例中,Perl 會自動取用虛擬變數來取代來取代line 的角色。 若要顯示由命令列(Command Line)所送進來的檔案,可使用下...
- 3即時餵資料給程式吃 - 朝陽科技大學
Perl 會把使用者敲在命令列上的參數放在@ARGV 陣列裡。 ... (如圖右半部, 想像資料從方框的左邊進來) 程式語法是while (<STDIN>) { ... } 如此perl 會每次...
- 4Perl的基本語法
chomp($input=<STDIN>);. (c) Output: print "variables or 字串";. Perl也有printf()函數,語法和C語言一模一樣 ...
- 5精簡扼要的Perl 課程講義(四):標準輸入輸出與檔案輸入輸出
標準輸入輸出 # (1) STDIN, STDOUT, STDERR print "Enter your name:"; $input = <STDIN>; # 從STDIN 讀入 print ...