Perl中的檔案檢測操作

2021-06-20 02:45:19 字數 1323 閱讀 6117

如果程式會建立新的檔案,在程式建立新檔案之前,我們應先確定是否存在同名的檔案,以免重要資料被覆蓋掉。對於這種問題,我們可以使用– 選項,檢測是否存在相同名字的檔案:

die "oops! a file called '$filename' already exists.\n"

if -e $filename;

如果檔案在過去28 天內都未被修改,輸出警告:

warn "config file is looking pretty old!\n"

if -m config > 28;

下例首先檢查檔案列表,找到那些大於 100kb 的檔案。如果乙個檔案僅是很大, 我們不一定會將其移到備份磁帶上去,除非同時其在最近 90 天內都未被訪問。

my @ariginal_files = qw/ fred barney betty wilma pebbles dino bam-bamm /;

my @big_old_files; #要移到備份磁帶上的檔案

foreach my $filename (@original_files)

-r

檔案或目錄對此(有效的)使用者(effective user)或組是可讀的

-w檔案或目錄對此(有效的)使用者或組是可寫的

-x檔案或目錄對此(有效的)使用者或組是可執行的

-o檔案或目錄由本(有效的)使用者所有

-r檔案或目錄對此使用者(real user)或組是可讀的

-w檔案或目錄對此使用者或組是可寫的

-x檔案或目錄對此使用者或組是可執行的

-o檔案或目錄由本使用者所有

-e檔案或目錄名存在

-z檔案存在,大小為 0(目錄恒為 false)

-s檔案或目錄存在,大小大於 0(值為檔案的大小,單位:位元組)

-f為普通文字

-d為目錄

-l為符號鏈結

-s為 socket

-p為管道(entry is a named pipe(a "fifo"))

-b為 block-special 檔案(如掛載磁碟)

-c為 character-special 檔案(如 i/o 裝置)

-usetuid 的檔案或目錄

-gsetgid 的檔案或目錄

-kfile or directory has the sticky bit set

-t檔案控制代碼為 tty(系統函式 isatty()的返回結果;不能對檔名使用這個測試)

-t檔案有些像「文字」檔案

-b檔案有些像「二進位制」檔案

-m修改的時間(單位:天)

-a訪問的時間(單位:天)

-c索引節點修改時間(單位:天)

Perl中對於檔案檢測的選項,備忘

檢測選項含義 r 檔案或目錄對此 有效的 使用者 effective user 或組是可讀的 w 檔案或目錄對此 有效的 使用者或組是可寫的 x 檔案或目錄對此 有效的 使用者或組是可執行的 o 檔案或目錄由本 有效的 使用者所有 r 檔案或目錄對此使用者 real user 或組是可讀的 w 檔案...

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....