perl 檔案操作總結

2022-10-05 00:30:26 字數 2890 閱讀 7036

一、開啟、關閉檔案

open的返回值用來確定開啟檔案的操作是否成功,當其成功時返回非零值,失敗時返回零,因此可以如下判斷:

if (open(myfile, "myfile"))

當檔案操作完畢後,用close(myfile); 關閉檔案。

讀:open(檔案控制代碼,"檔名")  open(檔案控制代碼,"檔名")   前提檔案必須已經存在,否則會返回0,出錯資訊在!中

寫:open(檔案控制代碼,">檔名"),檔案如果不存在,那麼建立之,如果存在,內容被清空,長度截為0,!中有出錯資訊。

追加:open(檔案控制代碼,">>檔名"),基本同寫,但有一點,檔案中的內容不會被清空,新的內容會追加到原文後面。

讀寫:open(檔案控制代碼,"+檔名"),通過「+

二、讀檔案

語句line = ;從檔案中讀取一行資料儲存到簡單變數line中並把檔案指標向後移動一行。

語句@array = ;把檔案的全部內容讀入陣列@array,檔案的每一行(含回車符)為@array的乙個元素。

主要使用以下三個函式:

1__ve_item__ø      程式設計客棧   tell函式

函式tell用來確定檔案中當前位置(亦即第一條記錄後的那個位元組)。tell返回的值也是記錄長度的位元組數。

length = tell ( file );

如一條記錄有3個位元組長度,位元組0,1和2。因而,檔案中的當前位置是3,這就是一條記錄的長度。

1__ve_item__ø         seek函式

如果記錄的長度已知,函式seek可用www.cppcns.com於查詢檔案中的任何記錄。

函式seek接受3ryfgly個引數:filename、offset和method。

offset是在檔案中確定新的當前位置時,所需移動的位元組數。這個數一般可以這樣計算:所需跳過的記錄數乘以記程式設計客棧錄的位元組數。

method指出要開始查詢的位置:

0表示從檔案開始處計算;

1表示從當前位置開始計算;

2表示從檔案結束出開始計算(這種情況下,offset一般為負數)。

例如: seek  ( file,  5*length, 0 )

執行後,他會使用計算式5*length和method為0來跳過檔案的前5條記錄,把第6條記錄作為檔案的當前位置

&nryfglybsp;          

1__ve_item__ø         truncate函式

truncate函式接收兩個引數:乙個檔案控制代碼和乙個檔案位元組位置。它從檔案位元組處開始移除記錄,直到檔案結束。

perl字串處理函式

perl字串處理函式index

呼叫語法position=index(string,substring,position);

解說返回子串substring在字串string中的位置,如果不存在則返回-1。引數position是可選項,表示匹配之前跳過的字元數,或者說從該位置開始匹配。

perl字串處理函式rindex

呼叫語法position=rindex(string,substring,position);

解說與index類似,區別是從右端匹配。

perl字串處理函式length

呼叫語法num=length(string);

解說返回字串長度,或者說含有字元的數目。

perl字串處理函式pos

呼叫語法offset=pos(string);

解說返回最後一次模式匹配的位置。

perl字串處理函式substr

呼叫語法substr(expr,skipchars,length)

解說抽取字串(或表示式生成的字串)expr中的子串,跳過skipchars個字元,或者說從位置skipchars開始抽取子串(第乙個字元位置為0),子串長度為length,此引數可忽略,意味著取剩下的全部字元。

當此函式出現在等式左邊時,expr必須為變數或陣列元素,此時其中部分子串被等式右邊的值替換。

perl字串處理函式study

呼叫語法study(scalar);

解說用一種內部格式提高變數的訪問速度,同一時刻只對乙個變數起作用。

perl字串處理函式lc

uc呼叫語法retval=lc(string);

retval=uc(string);

解說將字串全部轉換成小/大寫字母。

perl字串處理函式lcfirst

ucfirst

呼叫語法retval=lcfirst(string);

retval=ucfirst(string);

解說將第乙個字母轉換成小/大寫。

perl字串處理函式quotameta

呼叫語法newstring=quotemeta(oldstring);

解說將非單詞的字母前面加上反斜線(\\)。

語句:string=quotemeta(string);

等效於:string=~s/(\\w)/\\\\1/g;

常用於模式匹配操作中,確保字串中沒有字元被看作匹配操作符。

perl字串處理函式join

呼叫語法join(joinstr,list);

解說把字串列表(陣列)組合成乙個長的字串,在每兩個列表元素間插入串joinstr。

perl字串處理函式sprintf

呼叫語法sprintf(string,fields);

解說與printf類似,區別是結果不輸出到檔案,而作為返回值賦給變數。

例子num=26;

outstr=sprintf("%d=%xhexadecimalor%ooctal\",num,num,num);

print(outstr);

結果輸出26=1ahexadecimalor32octal

本文標題: perl 檔案操作總結

本文位址:

perl 檔案操作

perl中檔案操 基礎在perl中,提供了三種檔案控制代碼 stdin,stdout,stderr.它們可以由父程序建立的檔案或者裝置會自動開啟.一般使用open函式來建立檔案控制代碼.open函式的語法是唯讀模式時為 open filehandle,somename 其中filehandle是檔案...

perl 檔案操作

1 讀取某檔案,如果該檔案不存在,則報錯,並提示出錯原因 open db,home ellie myfile or die can t open file n 2 讀寫檔案的方法 open fh,opens filename for reading.讀 the symbol is optional....

Perl 檔案與目錄操作常用方法總結

open in,test file.txt 或者 touch test file.txt unlink test file.txt 如果想刪除目錄內的檔案和子目錄,而保留foo1目錄自身,應該設定keep root選項 rmtree test foo1 use file path qw make p...