首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Perl 文件讀寫實戰:三種打開模式與異常處理模式

     編輯:更多程式設計知識

打開模式速查

模式操作符創建截斷說明
讀取<否否文件必須存在
寫入>是是覆蓋或新建
追加>>是否末尾追加

模式一:異常退出(die)


use strict;
use warnings;
my $filename = 'data.txt';
open(my $fh, '<:encoding(UTF-8)', $filename)
    or die "Could not open '$filename': $!";
while (my $row = <$fh>) {
    chomp $row;
    print "$row\n";
}
close($fh);

模式二:警告繼續(warn)


use strict;
use warnings;
my $filename = 'data.txt';
if (open(my $fh, '<:encoding(UTF-8)', $filename)) {
    while (my $row = <$fh>) {
        chomp $row;
        print "$row\n";
    }
    close($fh);
} else {
    warn "Could not open '$filename': $!";
}

模式三:整文件讀入數組


use strict;
use warnings;
my $filename = 'data.txt';
open(FILEIN, '<', $filename)
    or die "Could not open '$filename': $!";
my @FileContents = ;
for my $line (@FileContents) {
    print "$line";
}
close(FILEIN);

關鍵點提示

  • 三參數 open(模式、文件名、屬性)更安全,避免注入;
  • :encoding(UTF-8) 指定 IO 層編碼,自動處理 BOM;
  • chomp 移除行尾換行符;
  • 詞法文件句柄(my $fh)作用域自動關閉,推薦使用;
  • 大文件逐行處理(模式 1/2)優於整文件讀入(模式 3)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved