最早就是写Perl的,后来来到公司转Python,现在又要负责流程了,开始重拾Perl,当然是借鉴别人现有的语法,我再重新组合。

基本语法就不介绍了,参照我之前文章 Perl

模块

use strict;

use File::Path;

【Perl】Path::File 目录的创建和删除

内置模块,导入之后就可以随时创建和删除目录了,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;

perl 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;

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就可以换成自己习惯的方式啦~

转载于:https://www.cnblogs.com/leezx/p/6409768.html

读写生信流程必备的 Perl 语法相关推荐

  1. Android 类似未读短信图标显示数字效果的分析

     之前一直以为是应用本身在对图标进行修改,看了源码之后发现其实主要的工作并不是应用自己完成的,主要的工作在是launcher里面完成的. 关于系统里面类似未读短信的具体处理流程如下,   原理 一个应 ...

  2. Android 类似未读短信消息图标显示的实现分析

    这里面主要的工作在是launcher里面完成的. 关于系统里面类似未读短信的具体处理流程如下, 原理 一个应用要实现这个效果,就要在自己有未读的消息的时候发送一个广播告诉系统我有未处理的事件了(例如: ...

  3. 三代测序数据纠错的方法、装置和计算机可读存储介质与流程

    三代测序数据纠错的方法.装置和计算机可读存储介质与流程 文档序号:15616049发布日期:2018-10-09 21:24 导航: X技术> 最新专利>计算;推算;计数设备的制造及其应用 ...

  4. 求android实现未读短信图标数字提示效果

    ============问题描述============ 大家好, 我现在碰到一个需求是在一个图标上面加上一个数字,来提示有未读短信之类的效果. 效果图片发不出来,不知道是不是CSDN不让发,有知道的 ...

  5. Android实现获取未接来电和未读短信数量的方法

    项目开发需要 要求获取未接来电和未读短信的数量 1.未接来电的获取方式 通过广播com.android.phone.NotificationMgr.MissedCall_intent 接收像在锁屏界面 ...

  6. android手机来电自动报名字,读短信来电报姓名

    读短信来电报姓名,帮助用户自动读短信.报出来电人姓名,让您在不方便的时候能够轻松查看短信信息,知晓来电人姓名.软件还拥有语音提醒.讲笑话.英语测评等特色功能,让您的生活更加便捷. 软件介绍: 开车的时 ...

  7. android开发笔记之锁屏界面未读短信未接来电提醒(android 4.4)

    客户需求 最近在做一个项目,android 4.4系统,客户要求在锁屏界面有未读短信未接来电的提醒功能.而平台没有此功能,要自己实现.并且时间非常紧,---.(其实软件工程师基本上都是这样,坑,坑,坑 ...

  8. iphone如何最快已读全量未读短信

    iphone如何最快已读全量未读短信 iPhone 15.6 版本,偶然间发现一个可以用来一键已读全部短信的操作小技巧介绍给大家: 1.短信界面双指左滑或右滑,进入多选模式 2.将已勾选项点掉,左下角 ...

  9. 小微企业四大授信流程

    本周早些时间,我们给各位读者介绍了风控管理体系的四大阶段,其相关搭建步骤需要先后历经以下: 1.以风险为中心的策略(Risk-focused Strategies)-主要以风险为最根本的决策依据. 2 ...

最新文章

  1. 如何通过 Impex 在 SAP Commerce Cloud 创建一个新的 Component
  2. VK Cup 2015 - Qualification Round 1 A. Reposts(树)
  3. python qt快速入门_PyQt5快速入门(一)
  4. php源码仿三一重工,织梦仿三一重工业大学气企业网站php源码
  5. Maven学习总结(18)——深入理解Maven仓库
  6. 解决SpringBoot jar包太大的问题
  7. vue 图片切换动态绑定
  8. wget整站抓取、网站抓取功能
  9. 两天来的Java IO Tips
  10. Win7主题制作教程 电脑主题制作图文方法
  11. Python获取磁盘使用信息,python获取GPU信息!
  12. windows系统上PrtSc,ScroLk,Pause等三个功能按钮的作用
  13. 最小系统板 STM32入门,呼吸灯实现(STM32F103C6T6)
  14. Git之深入解析如何解决.git目录过大的问题
  15. 姿态估计论文汇总 Stacked Hourglass/CPN/Simple Baselines/MSPN/HRNet
  16. 《迷途深渊》隐私声明
  17. 通用产品 云OA SaaS三管齐下
  18. chroot的使用方法
  19. Python 第三方包的使用指南
  20. 关于级联选择器Cascader数据太多会改变列表大小的问题

热门文章

  1. python 可控制深度遍历文件夹
  2. 如何检查Java中是否存在文件
  3. python 并发_Python bin()
  4. android jni示例_Android GridLayoutManager示例
  5. C++面试题整理,希望对大家有所帮助
  6. Aoite 系列(01) - 比 Dapper 更好用的 ORM
  7. java版b2b2c社交电商spring cloud分布式微服务(十)高可用的服务注册中心
  8. Flink状态管理和容错机制介绍
  9. 小程序web开发框架-weweb介绍 1
  10. 欧几里得算法及扩展欧几里得算法简单解释