读写生信流程必备的 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就能够换成本身习惯的方式啦~

相关文章
相关标签/搜索