读写生信流程必备的 Perl 语法

最早就是写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 usageif(!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 ||= "./";
=~是正则匹配运算符,||=是或等赋值运算符。表示如果outdirfalseoutdir还是outdiroutdir被赋值为./。

 

正则表达式

 

 

notepad++使用技巧

我喜欢用notepad++来写perl代码,默认绑定.pl后缀

注释

快捷键如下:

单行、多行注释   //方式  :ctrl+k

区块注释  / * * /方式 :ctrl+q

取消单行、多行、区块注释  :ctrl+shift+k

如果感觉默认的快捷键不方便,可以修改成自己习惯的快捷键:设置-管理快捷键-Mainmenu选项卡下的第42-44项是上述快捷键选中某项,点击下面的modify就可以换成自己习惯的方式啦~

posted @   Life·Intelligence  阅读(2492)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
TOP
点击右上角即可分享
微信分享提示