※ 引述《CindyLinz (Cindy Wang)》之銘言:
: ※ 引述《liuintel (康康)》之銘言:
: : 我想要搜尋當下目錄的所有檔案內容
: : 有符合我的條件的 就把檔名print到一個
: : 新的output file
: : 請問該如何下手
: : 問題有點多 先謝謝大大
: 你可以找一個叫 glob 的東西, 大概長 <.....> 這個樣子;
: 或是你可以手動用 opendir / readdir / closedir.
: glob 比較方便, 但可能會多做一些你不需要的動作而浪費效能,
: 後面那個寫起來比較繁瑣~
open FD, ">", "outputfile";
for my $file (`ls`) {
print FD $file if $file =~ /foo/;
}
close FD;
有 ls 的話我想直接用這樣是很快的
glob 的用法有兩種
for my $file (<*.pl>) {
}
for my $file (glob "*.pl") {
}
這兩種是等價的,意思就是找所有 .pl 的檔案
不過第一種寫法是比較老式的,而且容易和 <> (從某 FH 讀入資料) 混淆
所以不建議使用,用第二種比較好