Perl语言编程,大骆驼

啰嗦几句

Perl的时代已经过去,现在年轻的同事们基本上都在用Python了。但个人认为单就生物信息文本处理而言,Perl语言是绝对够用的。最主要的是,前辈们搭建的流程大多数是Perl写的,因此,如果从事流程维护和升级的工作,掌握Perl是必不可少的。即使领导也提出过全面改用Python,这么多流程,这么多脚本,谈何容易!当然,Python也是必学的,因为流程中也嵌套了不少python脚本,现在大部分流程的主程基本是Python来控制了。

总之,若要在流程搭建和维护升级的工作中游刃有余,Shell、Perl、R、Python四大语言一样都不能落下。

Perl大骆驼一览

小骆驼是基础,但肯定是远不够用的。大骆驼呢,厚达近千页,也不可能从头到尾精读。只能在工作中边学边练,碰到不懂的再翻翻书了。

这里简单记录下大骆驼的框架内容:

第一部分 Perl概述

文件句柄
操作符
控制结构
正则表达式
列表

第二部分 Perl细节

基础:原子、分子、数据类型、变量、名字、标量变量、上下文、列表和数组、散列、文件句柄、输入操作符

一元和二元操作符:列表、绑定、乘除、加减、移位、文件测试、关系、相等、智能匹配、范围、条件、赋值、逗号。

语句:简单、复合、if/unless、given、循环、goto、省略
声明:全局、作用域

模式匹配:正则表达式、操作符、元字符、位置、分组捕获、候选项、保持控制

Unicode:略

子例程:语法、传引用、原型、属性

引用:创建、硬引用、符号引用、大/中括号、引号

数据结构:数组的数组、数组的散列、散列的数组、散列的散列、函数的散列、保存结构

包:符号表、限定名、默认包、改变包、自动加载

模块:加载、上传、创建、覆盖内置函数

对象:perl对象系统、对象构造、类继承、析构函数

重载:处理方法、操作符、常量、公共函数、重载诊断

绑定变量:标量、数组、散列、文件句柄

第三部分 Perl技术

进程管理:信号、文件、管道

编译:生命周期、编译代码、执行、后端、代码、字节码生成器、开发工具

命令行接口:命令处理、环境变量

Perl调试器:命令、定制、支持、性能测试

CPAN:存储库、生态、安装模块、创建模块

第四部分 Perl文化

安全:处理数据、处理计时、处理代码

实践:常见失误、效率、风格、老练、程序生成

可移植perl:换行符、顺序与宽度、文件(系统)、系统交互、进程通信、标准模块、时间日期、国际化

Pod:pod核心、转换器和模块、编写工具、陷阱、建立文档

Perl文化:品质

第五部分 参考资料

特殊名:类型分组、字母顺序排列

格式:字符串、二进制、形象

函数:按类别、按字母顺序

标准库:术语、perl库

实现Pragma模块

全书整体对Perl的各个方面进行了详细阐述,目前在我看来perl细节是应该认真看的,重点是模式匹配、引用和数据结构

但我真的不喜欢Larry这种叙事风格啊,也许是老外惯有的所谓的幽默吧,我丝毫感觉不到好笑,甚至有点尴尬。