最先就是寫Perl的,後來來到公司轉Python,如今又要負責流程了,開始重拾Perl,固然是借鑑別人現有的語法,我再從新組合。html
基本語法就不介紹了,參照我以前文章 Perl正則表達式
use strict;
use File::Path;
內置模塊,導入以後就能夠隨時建立和刪除目錄了,mkpath("LZX");rmtree("LZX");編碼
use Getopt::Long;
perl 中的有關控制參數的模塊,參考:在Perl中使用Getopt::Long模塊來接收用戶命令行參數spa
my $usage = <<USAGE; Description: main pipeline for metagenomic analysis based on IGC, version 2016a USAGE
USAGE 在這裏通俗講就是一個標記,它用來標記一段文字(通常都是多行的,免得編碼麻煩,用"<<"加上一個標記就能夠把一大段代碼存入到一個變量中去了);$usage = <<USAGE 的意思就是說:下一行開始,直到碰見「USAGE」爲止,全部的字符都按照指定的格式存入變量usage中。你能夠用EEE,MAMA等等其餘的名字均可以,就是一個標記而已,它的做用就是簡化輸入。.net
通常都有後續,die $usage if (!$conf || !$rawFqList || $help); 命令行
相似open(MYFILE, "myfile") || die "Cannot open myfile: $!/n"; 程序結束,打印$usage 標量。code
use File::Basename;
File::Basename 模塊 從文件名中抽取基名,取不包括路徑的文件名。blog
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就能夠換成本身習慣的方式啦~