啰嗦几句

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

Perl语言编程(大骆驼)的更多相关文章

  1. Perl语言编程>>学习笔记2

    1. Perl中变量的常用表示  ${var} 相当于 $var  $Dog::days  在Dog包里面的变量$days  $#days  @days 的最后一个索引  ]  $days 引用的数组 ...

  2. Perl语言编程>>学习笔记

    1. 使用反引号可以调用外部程序并返回程序的输出, 如  $cwd = `pwd`; 2. Perl 中的变量类型之间的区别主要是单数和复数; 单数变量称为标量 $scalar , 复数变量称为数组 ...

  3. perl语言书籍教程推荐

    互动出版网计算机频道.为您推荐关于perl语言的书籍教程.包括perl push.perl chomp以及perl python等perl语言内容. perl语言书籍一.<Perl语言编程 第四 ...

  4. 9 本免费的 Python 语言编程书籍(转载)

    9 本免费的 Python 语言编程书籍 原文地址:http://linuxtoy.org/archives/9-free-python-books.html 2010-03-03 Toy Poste ...

  5. R语言编程艺术(2)R中的数据结构

    本文对应<R语言编程艺术>第2章:向量:第3章:矩阵和数组:第4章:列表:第5章:数据框:第6章:因子和表 ======================================== ...

  6. C/C++语言编程的隐患!

    C/C++语言编程的隐患! 本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内.内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决 ...

  7. 个人c语言编程风格总结

    总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...

  8. LINUX下C语言编程基础

    实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...

  9. 第二章 C语言编程实践

    上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...

随机推荐

  1. 如何访问位于内网的Ubuntu主机

    如何访问位于内网的Ubuntu主机 内网主机为Ubuntu桌面版 内网主机Ubuntu字符串界面版 SSH远程主机管理工具推荐 SSH远程文件访问工具推荐 如何访问位于内网的Ubuntu主机 内网主机 ...

  2. LeetCode:BFS/DFS

    BFS/DFS 在树专题和回溯算法中其实已经涉及到了BFS和DFS算法,这里单独提出再进一步学习一下 BFS 广度优先遍历 Breadth-First-Search 这部分的内容也主要是学习了labu ...

  3. Noip模拟54 2021.9.16

    T1 选择 现在发现好多题目都是隐含的状压,不明面给到数据范围里,之凭借一句话 比如这道题就是按照题目里边给的儿子数量不超过$10$做状压,非常邪门 由于数据范围比较小,怎么暴力就怎么来 从叶子节点向 ...

  4. 零基础小白要如何跟好的学习嵌入式Linux

    作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会). C语言要学 ...

  5. STM32的I2C框图详解及通讯过程

    STM32 的I2C 特性及架构 如果我们直接控制STM32 的两个GPIO 引脚,分别用作SCL 及SDA,按照上述信号的时序要求,直接像控制LED 灯那样控制引脚的输出(若是接收数据时则读取SDA ...

  6. linux命令中find, which、whereis、locate,有什么区别?

    whatis 用于查询一个命令执行什么功能,并将查询结果打印到终端上 which 查看可执行文件的位置 whereis 查看文件的位置 man Linux提供了丰富的帮助手册,当你需要查看某个命令的参 ...

  7. hdu 1502 Regular Words(DP)

    题意: 一个单词X由{A,B,C}三种字母构成. A(X):单词X中A的个数.B(X),C(X)同理. 一个单词X如果是regular word必须满足A(X)=B(X)=C(X)且对于X的任意前缀有 ...

  8. js和jq文档操作

    JS文档操作 一.dom树结构 1.元素节点 2.文本节点 3.属性节点      不属于元素节点的子节点  4.文档节点(document) 二.处理元素节点    method    1.docu ...

  9. SSH 提示密码过期,如何通过 ansible 批量更新线上服务器密码

    起因 线上环境是在内网,登陆线上环境需要使用 VPN + 堡垒机 登陆,但是我日常登陆线上环境都是 VPN + 堡垒机 + Socks5常驻代理,在shell端只需要保存会话,会话使用socks5代理 ...

  10. svg的animate动画动态加载删除遇到删除animate后再次加载的animate动画没有效果问题

    svg上有多个圆圈,当选中特定圆圈后给其加上animate动画效果,并把其他圆圈的animate效果去除. 第一次选择一个点实现动画效果完全达到效果,因为是第一次所以不需要把其他圆圈的animate子 ...