讀寫生信流程必備的 Perl 語法

最先就是寫Perl的,後來來到公司轉Python,如今又要負責流程了,開始重拾Perl,固然是借鑑別人現有的語法,我再從新組合。html

基本語法就不介紹了,參照我以前文章 Perl正則表達式

 

模塊

use strict;

 

use File::Path;

【Perl】Path::File 目錄的建立和刪除數組

內置模塊,導入以後就能夠隨時建立和刪除目錄了,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;

perl File::Basename 模塊htm

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;

Config::General

 

語法

return \%hash
參考: Perl引用reference(\運算符)

 

my %config = %$config;
my @array2 = @{$array_r};  #拷貝了數組

對引用變量解引用經過{$var_r}實現;

 

 

$outdir ||= "./";
=~是正則匹配運算符,||=是或等賦值運算符。表示若是$outdir爲非false,那麼$outdir仍是$outdir,不然,$outdir被賦值爲./。

 

正則表達式

 

 

notepad++使用技巧

我喜歡用notepad++來寫perl代碼,默認綁定.pl後綴

註釋

快捷鍵以下:

單行、多行註釋   //方式  :ctrl+k

區塊註釋  / * * /方式 :ctrl+q

取消單行、多行、區塊註釋  :ctrl+shift+k

若是感受默認的快捷鍵不方便,能夠修改爲本身習慣的快捷鍵:設置-管理快捷鍵-Mainmenu選項卡下的第42-44項是上述快捷鍵選中某項,點擊下面的modify就能夠換成本身習慣的方式啦~

相關文章
相關標籤/搜索