一些 Perl 的筆記


開啟檔案並傳入陣列

0001
0002
0003
0004
0005
0006
0007
0008
0009
use File::Path;
#開啟設定檔
my $file="./CONFIG";
#開啟設定檔
open(FHD, "$file") || die "$!n"; 
#傳入到 all 這個 array
my @all=<FHD>;
#關閉檔案
close(FHD);

替代字串

0001
0002
0003
0004
0005
0006
0007
0008
#@content 為一陣列
foreach (@content) {
     #刪除空白行
     $_ =~ s/^$//;
     #把 \n 取代為 <br>
     $_ =~ s/\n/<br>/;
     print "$_";
}

壓縮目錄及檔案

0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
use File::Path;
# 宣告 $cnf_file 是一個新的 Zip 物件
my $cnf_file = Archive::Zip->new();

# 把 /backup/project 存為 project 壓縮目錄
$cnf_file->addTree("/backup/projects", "projects");

# 把 /backup/documentss 存為 documents 壓縮目錄
$cnf_file->addTree("/backup/documents", "documents");

# 寫入 backup.zip 壓縮檔
$cnf_file->writeToFileNamed("backup.zip");

寫入檔案

0001
0002
0003
0004
0005
0006
0007
0008
# 開啟 sys.cnf 並以附加方式開啟 (代號為 newGLOBAL), 若失敗則傳出錯誤並結束
open (newGLOBAL, ">> system.cnf") || die "$!n";

     my $newStr = "Hellon";
     print newGLOBAL "$newStr";

#關閉檔案
close(newGLOBAL);

列印檔案的內容

0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
# 設定檔案名稱
$file = "CONFIG";
# 開啟檔案 (代號為 GLOBAL)
open (GLOBAL, "$file") || die "$!n";
# 設定 @content 陣列來源為 GLOBAL
my @content = <GLOBAL>;
# 關閉檔案
close (GLOBAL);
# 用 foreach 讀取 @contenet 的每一個列
foreach (@content)
{
     # 列印內容
     print $_;
}

強制檢查變數宣告

0001
0002
0003
#! /usr/bin/perl
# 使用 use strict 可以讓 perl 強制檢查宣告, 較嚴緊的做法
use strict;

02/14/2007


首頁