Perl 语言语法学习
Posted 牛学汇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl 语言语法学习相关的知识,希望对你有一定的参考价值。
Perl 条件语句
Perl 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
注意,数字 0, 字符串 '0' 、 "" , 空 list () , 和 undef 为 false ,其他值均为 true。 true 前面使用 ! 或 not则返回 false 。
今天先来介绍下Perl if 语句
它由一个布尔表达式后跟一个或多个语句组成。语法格式如下
if(boolean_expression){
# 在布尔表达式 boolean_expression 为 true 执行}
如果布尔表达式 boolean_expression为 true,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。
例子:
#!/usr/bin/perl
$a = 10;
# 使用 if 语句判断布尔表达式
if( $a < 20 ){
# 布尔表达式为true时执行
printf "a 小于 20 ";
}
print "a 的值为 : $a ";
$a = "";
# 使用 if 语句判断布尔表达式
if( $a ){
# i布尔表达式为true时执行
printf "变量 a 为 true ";
}
print "a 的值为 : $a ";
执行以上程序,输出结果为:
a 小于 20
a 的值为 : 10
a 的值为 :
实战分享:
基本的语法需要慢慢渗透,实战演练才能学以致用。
昨天老板说,牛二,学了这么久的perl语言了,你去美国国立生物技术信息中心下载点东西吧。于是我在NCBI网站上搜索了一番,发现我要下载的转录组数据有上百个项目。这么多的内容,别说下载需要时间,整理这些注释信息也很费事。所以牛二想通过Perl语言来完成。
牛二从NCBI主页GEO词条中搜索关键词sheep,下面弹出的N多条目,包括项目名称,物种,类别等简要信息。全选复制粘贴到txt文档中,命名为data_list.txt 。
通过观察每一个条目的网址发现,只有后面的GSE编号不同,如下。
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE112500
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE107064
......
而该GSE及其编号正好存在于我们之前生成的data_list.txt文件中。所以牛二写了如下代码:
#! /usr/bin/perl -w
use warnings;
use strict;
open(IN,"data_list.txt") || die "can't open the file: $!";
open(OUT,">GSE_id") || die "can't open the file: $!";
while(<IN>){
chomp;
if(/ASeriesAccession: (GSEd+)ID: /){
print OUT 'https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=',$1," ";
}
以上代码中运用了if条件句,如果符合后面的正则表达式,那么就会将匹配的结果打印出来。它实现了NCBI搜索结果中各个条目对应网址的抓取。你可能会说,也不是很好使吗,要想获得网址,我直接从网页上查找复制粘贴多省事。这可能就是计算机语言的魅力,进入大数据时代,如果你搜到相关的条目有上千条呢,要想获得每个条目对应的网址,我看粘贴复制来完成的话,还是先拷贝几个自己出来吧,说不定也能事半功倍。
今天就分享这么多。
see you .
点击阅读原文,了解更多丰富内容
以上是关于Perl 语言语法学习的主要内容,如果未能解决你的问题,请参考以下文章