檔案與目錄處理
# 檔案與目錄處理 # (1) 檔案測試算符 $filename = "data.txt"; if(-e $filename){ # 測試檔案是否存在 print "$filename exists.\n"; }else{ print "$filename does not exist.\n"; } # 其他算符請參考 perlfunc(1) # (2) glob # 把現行目錄下所有 .txt 檔之檔名存入 @allfile # 與 shell 下用法相同 @allfile = glob "*.txt"; # 另一種寫法,等同於 @allfile = glob "*.txt"; @allfile = <*.txt>; @etcfile = </etc/*.conf>; # 可加入路徑 # 抓取所有 .txt 與 .conf 檔 @files = <*.txt *.conf>; # (3) 目錄代碼 (directory handle) # (A) $dir = "/etc"; opendir DIR, $dir; while($file = readdir DIR){ # 印出 /etc 下所有檔案與目錄 # 包含 '.' '..' 與 '.' 開頭之隱藏檔 print "$file\n"; } closedir DIR; # (B) $dir = "/etc"; opendir DIR, $dir; # 將 /etc 下所有檔案與目錄存入 @etc_all_file @etc_all_file = readdir DIR; closedir DIR; # (4) 基本檔案目錄處理 rename "file1.txt", "file2.txt"; mkdir "mydir",0755; rmdir "mydir"; chmod 0755, "file1","file2";
其他
# 其他 # (1) @ARGV:取用 script 指令列參數 print "\$ARGV[$_] = $ARGV[$_]\n" for 0 .. $#ARGV; # (2) system:執行子行程 system("date"); # 執行 date 程式 system("ls -al"); # (3)``:擷取輸出結果 # 擷取 date 之輸出,存入 $output $output = `date`; $output2 = `ls -al`;
繼續閱讀:Perl 程式設計教學