標籤:
總結:
q()、qq()、qw()、qx(),分別是單引號、雙引號、建立字串列表 和 捕獲命令輸出。
第9學時 其他函數和運算子
一件事情可以使用多種方法完成。
本節主要內容:
- 如何對標量進行簡單的字串搜尋?(之前用Regex)
- 如何進行字元替換?
- 如何使用print函數
- 如何將數組用作堆棧和隊列
第10學時 檔案與目錄
- 獲得目錄列表
- 建立和刪除檔案
- 建立和刪除目錄
- 擷取檔案資訊
如何獲得目錄列表?(開啟目錄 讀取目錄) 此步的局限性:只能查看指定目錄下的檔案目錄列表資訊。
開啟檔案 和 開啟目錄 不太一樣,開啟目錄 是為了獲得目錄裡的資訊列表,而不能寫入或修改。
# 開啟目錄opendir(DIR, ‘./‘) or die $!;
# 以標量形式讀取目錄while(readdir(DIR)){ print $_."\n";}
# 以數組形式讀取目錄@dir = readdir(DIR);foreach (@dir){ print $_."\n";}
# 目錄控制代碼用完之後必須關閉close(DIR);
# 通常會用grep過濾掉(.)和(..)目錄@files = grep(!/^\.\.?$/, readdir(DIR));
如何瀏覽目錄、切換目錄、建立目錄、刪除目錄?
# 使用Cwd包,擷取當前工作目錄use Cwd;print cwd, "\n";chdir ‘../‘ or warn $!; # 改變目前的目錄print getcwd;
print "DIrectory to create?";my $newdir = <STDIN>;chomp $newdir;mkdir($newdir, 0755) or die $!; # 建立目錄,許可權為755rmdir($newdir) or die $!; #刪除目錄
如何刪除檔案?給檔案改名?
unlink <*.bat>; #刪除匹配檔案$erased = unlink ‘old.exe‘, ‘a.out‘, ‘personal.txt‘; #刪除列表檔案,並返回已刪除數量unlink @badfiles; #刪除列表內檔案unlink; #刪除$_內檔案
if (!rename "myfile.txt", "archive.txt"){ warn $!;}
第11學時 系統之間的互通性
system()函數
捕獲輸出
第12學時 使用P e r l 的命令列工具
第13學時 引用與結構
第14學時 使用模組
第15學時 瞭解程式的運行效能
第16學時 P e r l 語言開發界
其他:
use Cwd ‘abs_path‘; #擷取指定檔案和目錄的絕對位址use warnings;$myfile= "fastq_R1.txt";$mydir="./1";print(abs_path($myfile)."\n"); #使用abs_path函數print(abs_path($0)."\n");print(abs_path($mydir)."\n");
以下是文法在唯讀模式開啟file.txt的。這裡小於< signe 指示,檔案必須以唯讀模式運行結束
open(DATA, "<file.txt");
疑問:
1.qq()串連起來的列表似乎只有一個元素,因為用scalar()和join()串連起來都只發現一個元素???
Perl 文法 - 進階特性