最早就是寫Perl的,后來來到公司轉Python,現在又要負責流程了,開始重拾Perl,當然是借鑒別人現有的語法,我再重新組合。
基本語法就不介紹了,參照我之前文章 Perl
模塊
use strict;
use File::Path;
內置模塊,導入之后就可以隨時創建和刪除目錄了,mkpath("LZX");rmtree("LZX");
use Getopt::Long;
perl 中的有關控制參數的模塊,參考:在Perl中使用Getopt::Long模塊來接收用戶命令行參數
my $usage = <<USAGE; Description: main pipeline for metagenomic analysis based on IGC, version 2016a USAGE
USAGE 在這里通俗講就是一個標記,它用來標記一段文字(一般都是多行的,省得編碼麻煩,用"<<"加上一個標記就可以把一大段代碼存入到一個變量中去了);$usage = <<USAGE 的意思就是說:下一行開始,直到遇見“USAGE”為止,所有的字符都按照指定的格式存入變量usage中。你可以用EEE,MAMA等等其他的名字都可以,就是一個標記而已,它的作用就是簡化輸入。
一般都有后續,die $usage if (!$conf || !$rawFqList || $help);
類似open(MYFILE, "myfile") || die "Cannot open myfile: $!/n"; 程序結束,打印$usage 標量。
use File::Basename;
File::Basename 模塊 從文件名中抽取基名,取不包括路徑的文件名。
use FindBin '$Bin';
use Cwd qw(abs_path);
[Perl]如何取絕對路徑:FindBin模塊和Cwd模塊用法和區別
通過FindBin qw($Bin)獲取的是腳本所在目錄的絕對路徑
通過Cwd qw(abs_path getcwd)獲取的是運行腳本時所在的目錄的絕對路徑
$outdir = abs_path $outdir;
use Config::General;
語法
return \%hash
my %config = %$config;
my @array2 = @{$array_r}; #拷貝了數組
對引用變量解引用通過{$var_r}實現;
$outdir ||= "./";
正則表達式
notepad++使用技巧
我喜歡用notepad++來寫perl代碼,默認綁定.pl后綴
注釋
快捷鍵如下:
單行、多行注釋 //方式 :ctrl+k
區塊注釋 / * * /方式 :ctrl+q
取消單行、多行、區塊注釋 :ctrl+shift+k
如果感覺默認的快捷鍵不方便,可以修改成自己習慣的快捷鍵:設置-管理快捷鍵-Mainmenu選項卡下的第42-44項是上述快捷鍵選中某項,點擊下面的modify就可以換成自己習慣的方式啦~