Perl語言學習筆記 5 輸入與輸出

2021-06-23 03:38:15 字數 1772 閱讀 6764

1、讀取標準輸入

chomp($line = );

2、判斷是否讀到檔案末尾

defined($line = );

3、讀取檔案內容

while()

foreach ()

while與foreach的差別:while一次讀取一行,foreach一次讀取全部,然後對列表進行迴圈,最好用while;

4、鑽石操作符:<>

根據呼叫引數,從指定地方讀取資料,例如:./my_program file1 file2 file3,依次從file1、file2、file3一行一行地讀取資料;

while(<>)

<>的引數來自@argv陣列,可以對@argv進行處理,控制<>的執行;

5、標準輸出 print

print @arry;

#把陣列的元素列印出來

print "@arry";

#列印出乙個字串,陣列內插

print在陣列內插是會在元素之間加入空格;

print (2+3)*4;

#會輸出5,print認為緊跟其後的括號為函式呼叫,= (print (2+3))*4

6、printf 格式化輸出

%g:自動選擇浮點、整數或指數;

%d:整數,%5d:不到5位前邊補充空格,超過5位自動延伸;

%s:字串,%5s:不足前邊補齊,超過自動擴充套件,%-5s:左對齊;

%f:浮點數,四捨五入;

%%:輸出%

輸出陣列:printf "the item are :\n".("%10s\n" x @items),@items;

7、開啟與關閉檔案控制代碼

open config,"dion";

#開啟乙個輸入流

open config,"#開啟乙個輸入流

open bedrock,">fred";

#開啟乙個輸出流

open log,">>logfile";

#追加寫入

5.6版本以後:open config,"<","dino"、open config,">","dino"、open config,">>","dino"

返回值為是否成功(1/0),要檢查是否open成功開啟!

close config;

#關閉檔案控制代碼

建議檔案控制代碼用大寫;

8、處理嚴重錯誤和警告

if(!open log,">>loggile")

die會終止程式的執行,warn不會終止程式執行,其他與die用法一致;

$!:顯示系統服務請求的錯誤;

資訊尾部加上換行符,則不顯示錯誤的行號和檔名,例:die "not enough arguments\n";

9、使用檔案控制代碼

,與用法相同;

寫入:print config "input info";

printf config "your name is %s",$name;

10、改變預設的檔案輸出控制代碼

select config;

#使用完畢,切換回

11、$| = 1;

#每次操作結束立即重新整理緩衝區

12、perl保留的特殊檔案控制代碼:stdin、stdout、stderr、data、argv、argvout

復用標準的檔案控制代碼:open stderr,">>err_log";

13、使用say輸出

從perl 5.10以後可以使用;

除輸出帶換行符的字串外,其他與print一樣;

輸出到檔案控制代碼:say configfile 「hello」;

Perl語言學習筆記 6 雜湊

1 雜湊的鍵是唯一的,值可以重複!2 訪問雜湊元素 hashname 雜湊為大括號,陣列為方括號,鍵為字串 family name firstd 給雜湊元素賦值 3 雜湊鍵支援任意表示式 foo na family name 獲取 family name對應的值 4 訪問整個雜湊 family na...

perl語言學習 教程

perl語言是乙個指令碼語言 更接近於c 更接近於底層 你要問我和python有什麼區別?我也不知道。最近在看perl語言寫的程式,就自己總結一下啦 經常看到perl語法中 這兩個符號。但是我記得就知道試試 標量 開始,如 a b 是兩個標量。陣列 開始 如 a b 是兩個陣列。雜湊 開始 a b ...

perl學習筆記 輸入與輸出

注意 1,會處理所有的輸入,直到所有輸入的結尾為止 一般在乙個程式中只有乙個 若出現多次則可能發生錯誤。2,呼叫引數 ar ar 是乙個裝著呼叫引數的陣列 1,讀取從鍵盤輸入的值 注意 只讀取鍵盤輸入的一行,到換行符結束 用chomp去掉換行符 若沒有賦值給變數,則預設存在 中 usr bin pe...