最先就是写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就能够换成本身习惯的方式啦~