在看书的同时你必须记住和熟練使用的知识点是下面这些:
理解perl里面的三种变量表示方式
三种变量都有对应的操作技巧:
变量内容交换,字符型转为数值型字符串转為字符数组,字符串变量heredoc,字符串分割字符串截取,随机数生成取整,各种概率分布数多维矩阵如何操作,进制转换hash翻转,数組转hash
这个比较复杂: 就是需要理解你写的程序是如何判断你的变量的,你以为的不一定是你以为的
这也是一个非常重要的一块内容,基础用法就是m和s一个匹配,一个替换比较有趣的就是1,2等等捕获变量。
外表上看起来都是一个$ @ %符号后面加上一大堆的奇奇怪怪的字符,表示一些特殊变量这也是perl语言饱受诟病的原因。但是有些非常重要懂了它之后写程序会方便。下载一个表格里面有近100个预定义变量需要学习的。
控制语句(循环/条件/判断)
这是我最喜欢的一个程序模板读取文件,根据需要处理文件然后输出。需要实现非常多的功能然后就可以自己总结脚本技巧,也能完全掌握perl的各种语法在生物信息学领域,需要实现的功能有!
我个人特别喜欢这个知识点我也專门下载过一本书来学习,把这个教程看完就基本上能全明白:学习单行命令的前提是掌握非常多的奇奇怪怪的perl自定义变量和perl的基础语法,用熟练了之后就非常方便很多生物信息学数据处理过程我现在基本不写脚本,都是直接写一行命令完全代替了shell脚本里面的awk、sed/grep系列命令。(perl
perl 是一个非常精简的语言自定义的函数非常少,连min max这样常见的函数都没有如果你需要使用这样的功能,要么自己写一个函数要麼使用加强版的包,perl的包非常多
下面列出一些,我常用的函数:
perl语言是跨平台的因为它的执行靠的是perl解释器,而perl的解释器可以安装在任何机器上面所以可以用perl来代替很多系统管理工作。
自定义函数 sub , 参数传递数组传递,返回值
模块操作(模块安装加载,模块路径模塊函数引用)
选择一个好的编辑器-编译器,editusnotepad++,jEdit编程习惯的养成。
搞清楚perl版本的问题还有程序编码的问题,中文显示的问题
perl和LWP/HTML做网络爬虫必备,重点是DOM如何解析;
perl和CGI编程做网站的神器,重点是html基础知识;
DBI相关数据库用perl来操作mysql等,当然重点是mysql知识;
GD and GD::Graph 可以用来画图,泹是基本上没有人用了除了CIRCOS画圈圈图火起来了;
TK模块,可以编写GUI界面程序但是也几乎没有人用了;
XML/pdf/excel/Json 相关的模块可以用来读取非文本格式数据,或者输出格式化报告;
socket通信相关高手甚至可以写出一个QQ的模仿版本;
最后不得不提的就是Bioperl了,虽然我从来没有用过但是它的確对初学者非常有用,大多数人不提倡重复造轮子但我个人觉得,对初学者来说重复造轮子是一个非常好的学习方式。大家可以仿造bioperl裏面的各个功能用自己的脚本来实现!