用Perl語句來代替常用的操作系統命令 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 用Perl語句來代替常用的操作系統命令 (http://www.webasp.net/article/8/7786.htm) |
| -- 作者:未知 -- 發佈日期: 2003-09-13 |
| 雖然許多CGI程序在不同的服務器上都運行得很好,但是還有一個問題,當程序員需要對文件進行拷貝,改名或刪除時,他用的是特定的操作系統上的shell命令,而沒有採用perl語句。 (例如, system("cp $file1 $file2");) 這樣做僅在Unix下行得通,而且,當你把未經檢查的變量傳給shell時,還將可能產生潛在的安全隱患。 下面是一些Perl語句,可以用來替換常用的操作系統命令,這些語句可以工作於任何操作系統上。 ### 刪除 unlink("$cgidir/file.dat"); ### 改名 rename("$cgidir/oldfile.dat","$cgidir/newfile.dat"); ### 拷貝 open(FILE1,"<$cgidir/file1.dat"); open(FILE2,">$cgidir/file2.dat"); binmode(FILE1); binmode(FILE2); while (<FILE1>) { print FILE2; } close(FILE1); close(FILE2); ### 設置文件權限 chmod(0777,"$cgidir/file.dat"); ### 創建目錄 mkdir("$cgidir/newdir",0777); ### 刪除目錄 rmdir("$cgidir/newdir"); ### 當前日期/時間 $date = scalar localtime(time); print $date; 通過使用上面介紹的這些技巧,你不僅可以節省時間,而且也可以寫出更好的程序。 -------------------------------------------------------------------------------- |
| webasp.net |