读写生信流程必备的 Perl 语法
最早就是写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 ||= "./";
=~是正则匹配运算符,||=是或等赋值运算符。表示如果$outdir为非false,那么$outdir还是$outdir,否则,$outdir被赋值为./。
正则表达式
notepad++使用技巧
我喜欢用notepad++来写perl代码,默认绑定.pl后缀
注释
快捷键如下:
单行、多行注释 //方式 :ctrl+k
区块注释 / * * /方式 :ctrl+q
取消单行、多行、区块注释 :ctrl+shift+k
如果感觉默认的快捷键不方便,可以修改成自己习惯的快捷键:设置-管理快捷键-Mainmenu选项卡下的第42-44项是上述快捷键选中某项,点击下面的modify就可以换成自己习惯的方式啦~
读写生信流程必备的 Perl 语法的更多相关文章
- Perl 语法 - 基础
perl语言的核心是正则表达式,在文本处理上非常有优势,与python类似,但语法不同,perl的语法很灵活,用多了才会觉得好用. 常用知识点总结: perl语法类似于C语言(perl源于Unix), ...
- Android 类似未读短信图标显示数字效果的分析
之前一直以为是应用本身在对图标进行修改,看了源码之后发现其实主要的工作并不是应用自己完成的,主要的工作在是launcher里面完成的. 关于系统里面类似未读短信的具体处理流程如下, 原理 一个应用要实 ...
- PHP基础知识之流程控制的替代语法
PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,e ...
- Android中为图标加上数字--用于未读短信数提醒,待更新应用数提醒等
本文属于原创,转载请著名出处:http://flysnow.iteye.com/blog/906770 写道 在我们开发一些如短消息.应用商店等应用时,会考虑在短消息的图标上加上未读短信的数量,在应用 ...
- perl 语法速查
同时学perl.python和shell脚本会很容易将它们的语法搞混,本文主要是一个个人的总结,方便要用时的查询. perl基本语法.安装.帮助文档 文件头格式: #!/usr/bin/perl us ...
- perl 语法速查 | 模块安装
perl -MCPAN -e shell install Bio::SeqIO 或者直接perl -MCPAN -e 'install Excel::Writer::XLSX' 用cpan装不上,编译 ...
- Perl 语法 - 高级特性
总结: q().qq().qw(同单引号).qx{牢记是花括号},分别是单引号.双引号.创建字符串列表 和 捕获命令输出. 第9学时 其他函数和运算符 一件事情可以使用多种方法完成. 有哪些其他的 ...
- PHP流程控制的替代语法
准备做个wordpress的主题,结果看到了如下的语法: <div id="primary" class="content-area"><ma ...
- 【mysql的编程专题①】流程控制与其他语法
流程控制与内置函数,一般用在select的field字段上,或者用在函数,存储过程,触发器中; 如果用在select上就会随着query出来的row来隐式迭代; 注释与语句结束符 语句结束符 默认有两 ...
随机推荐
- Java的redis控制台-Jedis
jedis 源码地址:https://github.com/xetorthio/jedis
- jstat命令查看tomcat进程提示进程没找到(PID not found
今天遇到了一个小问题,我想用jstat命令查看tomcat进程(PID=24493)的内存使用情况,命令如下:jstat -gc 24493. 然后就报错了,错误提示信息为 24493 not fou ...
- Python 成对处理数据 zip()
当你想成对处理数据的时候zip() 函数是很有用的.比如,假设你头列表和一个值列表,就像下面这样: headers = ['name', 'shares', 'price'] values = ['A ...
- php mysqli query 查询数据库后读取内容的方法
php mysqli query 查询数据库后读取内容的方法 <?php$mysqli = new mysqli("localhost", "my_user&quo ...
- C/C++之单例模式实现
/*** * 保证一个类仅有一个实例,并提供一个访问它的全局访问点 */ #include <iostream> #include <string> using namespa ...
- PHP开发者成长图
作为PHP开发者,根据自己给自己的定位和这幅图,是否觉得自己还需要比平时更努力呢~
- PHP安装Xdebug扩展并配置PHPstorm调试(Centos、Windows)
一.给PHP安装Xdebug扩展 [windows] 废话不多说,直接上代码上方法安装扩展,我这里是在windows下. 首先需要确定的就是对应的PHP版本安装对应的Xdebug扩展文件,提供一个最快 ...
- Mysql的序列
Mysql的序列 Mysql自带的序列:字段设置为int,属性里面选上“自动增长”即可: 在插入数据的时候可以不插入该字段的值,mysql会自动处理:
- VM三种网络连接方式
bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和Linux下一个网卡 绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力. 在此种模式下,虚拟机内部的 ...
- RSA加解密用途简介及java示例
在公司当前版本的中间件通信框架中,为了防止非授权第三方和到期客户端的连接,我们通过AES和RSA两种方式的加解密策略进行认证.对于非对称RSA加解密,因为其性能耗费较大,一般仅用于认证连接,不会用于每 ...