啰嗦几句
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这种叙事风格啊,也许是老外惯有的所谓的幽默吧,我丝毫感觉不到好笑,甚至有点尴尬。