生信应用perl语法基础
时间:2019-07-30 来源:生信自学网 作者:乐伟
微信公众号:biowolf_cn 点击:次
Perl 最初是Unix 系统管理员的工具,平日用来处理无数繁琐的事物。时至今日,Perl 已发展成一套功能齐备的程序语言,横跨所有的操作平台,其用途包括Web 程序设计、数据库操作、XML 处理以及系统管理等。在Perl 擅长处理的问题中,其中约有90%与文本处理有关,所以Perl 拥有优异的文本处理能力。 Perl 有强大的字符串处理能力,尤其是在正则表达式上的应用、语法及程序结构等方面,perl 能提高字符串处理的速度。 如果需要学习更多生信编程方面的课程,生信自学网为大家准备了几门课程: 《Perl语言在生信中的应用》 《R语言生信绘图实操》 一、Perl 语言特点 Perl 不随意限制数据的大小,只要你有充足的内存。递归的深度也不受限制。关联数组使用可以根据需要扩展以避免性能衰退。Perl 能利用复杂的模式匹配技巧来快速扫描大量数据。除了善于处理文本,Perl 也能处理二进制数据[2]。Perl 语言的优点:(1)强大的正则表达式和模式匹配功能(接近理想的正则表达式语言);(2)复杂灵活的数据结构(Array of Array,Array of Hash,Hash of Array,Hash of Hash 等);(3)Unicode 支持(相对AWK 与C) Perl 语言的缺点:(1)动态类型语言,不是很可靠;(2)自然语言,是优点也是缺陷,使得Perl 语言代码可能晦涩难懂;(3)智能语言,是优点也产生不足:根据上下文解释编程者之意,可能产生臆断;也因此产生种种编程陷阱;(4)不是很优美。多种方法做事,有时会让编程者无所适从;(5)性能问题。Perl 灵活的数据结构和处理性能通常不是很高(相对C/C++),若需要高性能的处理有时需要使用其它语言重写。 perl语言的核心是正则表达式,在文本处理上非常有优势,与python类似,但语法不同,perl的语法很灵活,用多了才会觉得好用。 常用知识点总结: · perl语法类似于C语言(perl源于Unix),语句由逗号划分,代码层次使用花括号{}划分,但是不必声明变量类型; · 标量变量($name),数组(@name),哈希结构(%name),类型标识符,文件句柄没有标识符; · 哈希结构可以使用列表创建,但不要以为它也是由圆括号括起来的;在使用键时,用花括号。(特别注意) · 数字之间比较用(==、>=、<=、!=),字符串之间比较则用(eq、gt、lt、ge、le) · print函数,不一定需要括号。几种情况:print $name(直接输出) ;print ‘$name’(基本不用,错误的,原样输出); print “$name”(有时会用,会自动替换); print 函数在做文件输入时(文件句柄),不能有逗号,只能用空格。 · @_ 是函数传参时放置参数的数组,可以从中取实参;$_ 是默认参数的意思,指的是在不指定的情况下,程序处理的上一个变量;shift 是将数组的第一个元素 $array[0] 移走, 并将这个元素回传(return) (堆栈一节有详细讲解)。 · shift函数是取数组的第一个元素,缺省就取@_的第一个函数,这句一般用在程序的开头,用于接收程序的参数,或者子函数的开头,用于接收子函数的参数。 · 句柄和文件的关系,文件必须被打开,并赋与句柄,才能操作;有的句柄可以直接使用,如STDIN、STDERR;广义上,标量变量就是一种代表数据的句柄。 perl中数值和字符串可以随意的使用递增和递减运算符。 如果需要学习更多生信编程方面的课程,生信自学网为大家准备了几门课程: 《Perl语言在生信中的应用》 《R语言生信绘图实操》 (责任编辑:伏泽 微信:18520221056) |
- 上一篇:Perl生信应用哈希hash
- 下一篇:R语言R包在生信应用中的正确打开方式