一.開啟檔案:
語法為open (filevar, filename),其中filevar為檔案控制代碼,或者說是程式中用來代表某檔案的代號,filename為檔名,其路徑可為相對路徑,亦可為絕對路徑。
open(file1,"file1");
open(file1,"/u/jqpublic/file1");
開啟檔案時必須決定訪問模式,在perl中有三種訪問模式:
讀、寫和新增。後兩種模式的區別在於寫模式將原檔案覆蓋,原有內容丟失,形式為:
open(outfile,">outfile");而新增模式則在原檔案的末尾處繼續新增內容,
open的返回值用來確定開啟檔案的操作是否成功,當其成功時返回非零值,失敗時返回零,因此可以如下判斷:
if (open(myfile, "myfile"))
當檔案開啟失敗時結束程式:
unless (open (myfile, "file1"))
亦可用邏輯或操作符表示如下:
open (myfile, "file1") || die("could not open file");
當檔案操作完畢後,用close(myfile);關閉檔案。
二.寫入檔案
open(outfile, ">outfile");
print outfile ("here is an outputline.\n");
注:stdout、stderr為標準輸出和標準錯誤檔案,通常為螢幕,且不需要開啟。
三.檔案是否存在
if (-e "/path/file1")
四.perl中命令列引數的使用
象c一樣,perl也有儲存命令列引數的陣列@argv,可以用來分別處理各個命令列引數;與c不同的是,$argv[0]是第乙個引數,而不是程式名本身。
$var = $argv[0]; # 第乙個引數
$numargs = @argv; # 引數的個數
perl中,<>操作符實際上是對陣列@argv的隱含的引用,其工作原理為:
1、當perl直譯器第一次看到<>時,開啟以$argv[0]為檔名的檔案;
2、執行動作shift(@argv); 即把陣列@argv的元素向前移動乙個,其元素數量即減少了乙個。
3、<>操作符讀取在第一步開啟的檔案中的所有行。
4、讀完後,直譯器回到第一步重複。
例:@argv = ("myfile1","myfile2"); #實際上由命令列引數賦值
while ($line = <>)
將把檔案myfile1和myfile2的內容列印出來。
操作符描述
-b是否為塊裝置
-c是否為字元裝置
-d是否為目錄
-e是否存在
-f是否為普通檔案
-g是否設定了setgid位
-k是否設定了sticky位
-l是否為符號鏈結
-o是否擁有該檔案
-p是否為管道
-r是否可讀
-s是否非空
-t是否表示終端
-u是否設定了setuid位
-w是否可寫
-x是否可執行
-z是否為空檔案
-a距上次訪問多長時間
-b是否為二進位制檔案
-c距上次訪問檔案的inode多長時間
-m距上次修改多長時間
-o是否只為「真正的使用者」所擁有
-r是否只有「真正的使用者」可讀
-s是否為socket
-t是否為文字檔案
-w是否只有"真正的使用者"可寫
-x是否只有"真正的使用者"可執行
五.目錄函式
1.mkdir
mkdir(dirname,permissions);
2.chdir
chdir(dirname);
3.opendir(dirvar,dirname)
dirvar:目錄變數
dirname:目錄名
4.closedir(dirname)
關閉目錄
5.rename(oldname,newname)
重新命名6.unlink(filelist)
刪除檔案,這裡其實是刪除的檔案鏈結
7.建立鏈結
link(newlink,file)
建立乙個file的軟鏈結,刪除乙個檔案的鏈結後還可以刪除另乙個
8.chmod(permissions,filelists)
改變檔案許可權
9.stat(file)
獲取檔案狀態。引數file可為檔名也可為檔案變數。返回列表元素依次為:
目錄 Perl 學習筆記
01.perl 簡介 02.perl 指令碼開發入門 03.perl 資料型別 簡介 04.perl 資料型別 直接量 05.perl 資料型別 標量變數 06.perl 資料型別 陣列基本用法 07.perl 資料型別 陣列常用api 08.perl 資料型別 雜湊基本用法 09.perl 資料型...
perl學習筆記之
1 表示式修飾符if unless while untile foreach 2 data檔案控制代碼 data 標誌著指令碼的邏輯結束,並開啟data檔案控制代碼用於讀取。3 m運算子 如果包圍正規表示式的定界符是斜槓,m運算子是可選的 如果忙亂變了定界符,則是要求的。格式 regular exp...
perl 檔案和目錄
檔案和目錄 xfilehandle expr dirhandle 檔案測試 r file 檔案對當前有效使用者或組可讀 w file 檔案對當前有效使用者或組可寫 x file 檔案對當前有效使用者或組可執行 o file 檔案對當前有效使用者或組擁有 r file 檔案對當前實際使用者或組可讀 w...