第17章課後題(高階Perl技巧)

2022-08-04 23:09:15 字數 948 閱讀 5122

17.1 寫乙個程式,從檔案中讀取一組字串(每行乙個),然後讓使用者鍵入模式以便進行字串匹配。

對於每個模式,程式應該說明檔案裡共有多少字串匹配成功,分別是哪些字串。

對於所鍵入的每個新模式,不應重新讀取檔案,應該把這些字串存放在記憶體裡。檔名可以直接寫在程式裡。

use

5.016

;use

autodie;

my$file_name = '

sample.txt';

open

my$fh ,'

<

',$file_name

;chomp (my

@strings=<$fh>);

while(1

) ;

if($@)

else

}

17.2 寫乙個程式,報告當前目錄下所有檔案的最後訪問時間和最後修改時間,單位為秒,用stat取得檔案的時間戳資訊,利用切片的寫法

提取這兩個元素。

use

5.016

;use

autodie;

foreach (glob('*'

))

17.3 修改上題程式,把時間格式改為yyyy-mm-dd的形式。用map逐個輸出,並用localtime通過列表切片提取紀年時間的年,月,日子段。

use

5.016

;use

autodie;

foreach

my$file ( glob('*'

)) (

stat

$file)[8,9

];

printf

"%-20s %10d %10d\n

",$file,$atime,$mtime

;}

Perl 中級教程 第5章課後習題

5.9.1.練習1 5 分鐘 先不要執行程式,看看你能否判斷出這程式的哪部份出了問題?如果你看不出 來,就可以執行一相程式,得到些暗示,來看是否能修改好 my passenger 1 my passenger 2 my passengers passenger 1,passenger 2 花括號是匿...

劍指Offer 第2章課後題詳解

兩個佇列實現棧 2的整數次方 不同位數 有兩個排序的陣列a1和a2,內存在a1的末尾有足夠多的空餘空間容納a2。請實現乙個函式,把a2中的所有數字插入到a1中並且所有數字是排序的。其實這道題就是實現乙個歸併排序,只是在陣列中,資料是順序儲存的,如果在陣列頭部進行歸併排序,每一次操作都會移動後面所有的...

劍指Offer 第2章課後題詳解

有兩個排序的陣列a1和a2,內存在a1的末尾有足夠多的空餘空間容納a2。請實現乙個函式,把a2中的所有數字插入到a1中並且所有數字是排序的。其實這道題就是實現乙個歸併排序,只是在陣列中,資料是順序儲存的,如果在陣列頭部進行歸併排序,每一次操作都會移動後面所有的資料,開銷很大。所以應該從尾部進行操作。...