当前位置:文档之家› PERL练习题

PERL练习题

PERL练习题
PERL练习题

Perl语言入门实战习题

《Perl语言入门实战习题》 一、计算FASTA文件中每条序列的长度; 输入文件,FASTA格式: 注:如果输入文件在windows下产生,在Linux系统下操作时,宜先用dos2unix处理: 用法:dos2unix 输入文件 输出文件: Perl代码: #!/usr/bin/perl -w use strict; unless (@ARGV==2) { # @ARGV 传给脚本的命令行参数列表 die"Usage: perl $0 \n"; # 当命令行参数不是2的时候输出使用说明} my ($infile,$outfile) = @ARGV; # 把命令行参数赋值给输入文件和输出文件 open IN,$infile || die"error: can't open infile: $infile"; # 打开输入文件句柄IN open OUT,">$outfile" || die$!; # 打开输出文件句柄OUT $/=">";; # 设置输入记录分隔符为”>”,并去除第一个”>” while ( my $seq = ){ # 把序列ID行和序列赋值给$seq

my $id = $1 if($seq =~ /^(\S+)/); # 获取序列ID chomp $seq; # 去掉末尾的”>” $seq =~ s/^.+?\n//; # 删除第一行 $seq =~ s/\s//g; # 删除序列中的空白字符 my $len = length($seq); # 计算序列长度 print OUT "$id\t$len\n"; # 输出结果到输出文件 } $/="\n"; # 把输入记录分隔符改为默认值 close IN; # 关闭输入文件句柄 close OUT; # 关闭输出文件句柄 二、计算FASTA文件中每条序列的GC含量; 输入文件同上,输出文件: Perl代码: #!/usr/bin/perl -w use strict; unless (@ARGV==2) {# @ARGV 传给脚本的命令行参数列表 die"Usage: perl $0 \n";# 当命令行参数不是2的时候输出使用说明} my ($infile,$outfile) = @ARGV;# 把命令行参数赋值给输入文件和输出文件 open IN,$infile || die"error: can't open infile: $infile";# 打开输入文件句柄IN open OUT,">$outfile" || die$!;# 打开输出文件句柄OUT $/=">";;# 设置输入记录分隔符为”>”,并去除第一个”>” while (){# $_=,把序列ID行和序列赋值给$_,$_= 可以省略不写my $id = $1 if(/^(\S+)/);# 获取序列ID chomp; # 去掉末尾的”>” s/^.+?\n//;# 删除第一行 s/\s//g; # 删除序列中的空白字符 my $GC = (tr/GC/GC/);#计算G或C碱基个数 my $AT = (tr/AT/A T/);#计算A或T碱基个数 my $len = $GC + $AT;# 计算序列非N长度 my $gc_cont = $len ? $GC / $len : 0; #计算GC含量,如果长度为0,GC含量算0 print OUT "$id\t$gc_cont\n"; # 输出结果到输出文件 } $/="\n";# 把输入记录分隔符改为默认值 close IN; # 关闭输入文件句柄 close OUT;# 关闭输出文件句柄

Perl语言入门(第四版)习题答案

《Perl语言入门习题答案》 练习 1、写一个程序,计算半径为的圆的周长。圆周长等于2π(π约为)乘以半径。答案为。-----------------------/home/confish/perl/girth #!/usr/bin/perl -w #this program calculate a circle's girth , $r=; $g=*2*; print "the girth of the circle is $g\n"; -----------------------/home/confish/perl/girth 2、修改上述程序,用户可以在程序运行时输入半径。如果,用户输入,则应得到和上题一样的结果。 -----------------------/home/confish/perl/girthpro #!/usr/bin/perl -w ` #a better one to calculate girth print"enter the radius of the circle\n"; chomp($r=); if($r>0) { print"the girth of the circle is ".$r*2*."\n"; ; } else { print"nonavailable!\n"; } -----------------------/home/confish/perl/girthpro 3、修改上述程序,当用户输入小于0 的数字时,程序输出的周长为0,而非负数。 】 -----------------------/home/confish/perl/girthzero #!/usr/bin/perl -w #calculate the girth and print 0 when the radius is lower than 0

Perl语言学习练习及参考答案

#题2: #使用for循环打印出如下的字符。 # 1 # 12 # 123 # 12345 #*******************# Fw_Print_Step ($step++,"使用for循环打印出如下的字符。 1 12 123 12345"); my $str= ""; for (1..4) { $str= $str.$_; if ($_==4) { $str= $str.$_+1; } print " $str\n"; } #*******************# #题3: my $str1 = "abc"; my $str2 = "efg"; #将上述2个字符串连接起来,并输出合并后的字符串长度 #*******************# Fw_Print_Step ($step++,"将上述2个字符串\"$str1\"和\"$str2\"连接起来,并输出合并后的字符串长度"); my $str =$str1.$str2; my $str_length=length($str); print "新字串$str的长度为:$str_length"; #*******************# #题4: #以逆序方式打印出字符串包含的各个字符,如变量为"123456789"则输出为"9","8",..."2","1". my $str1="abc123def456"; #*******************# Fw_Print_Step ($step++,"以逆序方式打印出字符串包含的各个字符,如变量为\"123456789\"则输出为\"9\",\"8\",...\"2\",\"1\"."); my $str=$str1; print "以逆序方式打印出字符串\"$str1\"包含的各个字符:\n"; for($length=length($str1); $length>0; $length--) {

Perl语言编程

作者简介 Larry Wall是Perl的创造者,也是其他一些流行的Unix自由软件的作者,包括rn新闻阅读器和无处不在的patch程序。从学历来看,Larry实际上是一位语言学家,是加州大学伯克利分校和洛杉矶分校的毕业生。 编辑推荐 本书有哪些新的内容呢?老实说几乎所有都是新的。本书第三版涵盖了新的Perl 5.6版本,不仅完全重新组织了一遍,而且还用无数个例子强化了这些内容。大多数现有的主题都是从头重写的,如面向对象编程和正则表达式,并添加了许多全新的章节。

本书简介 本书不仅仅是一本关于Perl的书籍,更是一本独一无二的开发者自己介绍该语言及其文化的书籍。Larry Wall是Perl的开发者,并就的未来发展方向提出了自己的看法。Tom Christiansen是最早的几个拥护者之一,也是少数几个在错综复杂的中游刃有余的人之一。Jon Orwant是《Perl Journal》的主编,该杂志把Perl社区组合成了一个共同的论坛,以进行Perl新的开发。 目录 前言 第一部分 概述 第一章Perl概述 第二部分 细节 第二章集腋成裘 第三章一元和二元操作符 第四章语句和声明 第五章模式匹配 第六章子例程 第七章格式 第八章引用 第九章数据结构 第十章包 第十一章模块 第十二章对象 第十三章重载 第十四章绑定变量 第三部分 作为技术的Perl 第十五章Unicode 第十六章进程间通信 第十七章线程 第十八章编译 第十九章命令行接口 第二十章Perl调试器 第二十一章内部和外部 第四部分 作为文化的Perl 第二十二章 CPAN 第二十三章 安全 第二十四章 通用实践 第二十五章 可移植的Perl 第二十六章 pod 第二十七章 Perl文化 第五部分 参考资料 第二十八章 特殊名字 第二十九章 函数 第三十章标准Perl库 第三十一章 pragma

最新Perl语言入门(第四版)习题答案

最新Perl语言入门(第四版)习题答案 2.12 练习 1、写一个程序,计算半径为12.5的圆的周长。圆周长等于2π(π约为3.1415926)乘以半径。答案为78.5。 -----------------------/home/confish/perl/girth #!/usr/bin/perl -w #this program calculate a circle's girth $r=12.5; $g=12.5*2*3.1415; print "the girth of the circle is $g\n"; -----------------------/home/confish/perl/girth 2、修改上述程序,用户可以在程序运行时输入半径。如果,用户输入12.5,则应得到和上题一样的结果。 -----------------------/home/confish/perl/girthpro #!/usr/bin/perl -w #a better one to calculate girth print"enter the radius of the circle\n"; chomp($r=); if($r>0) { print"the girth of the circle is ".$r*2*3.1415."\n"; } else { print"nonavailable!\n"; } -----------------------/home/confish/perl/girthpro 3、修改上述程序,当用户输入小于0 的数字时,程序输出的周长为0,而非负数。 -----------------------/home/confish/perl/girthzero #!/usr/bin/perl -w #calculate the girth and print 0 when the radius is lower than 0 print"enter the radius of the line\n"; chomp($r=); if($r>0) { print"the girth of the circle is $r*2*3.1415\n"; } else

Perl语言入门(第四版)习题标准答案

Perl语言入门(第四版)习题答案

————————————————————————————————作者:————————————————————————————————日期:

《Perl语言入门习题答案》 2.12 练习 1、写一个程序,计算半径为12.5的圆的周长。圆周长等于2π(π约为3.1415926)乘以半径。答案为78.5。 -----------------------/home/confish/perl/girth #!/usr/bin/perl -w #this program calculate a circle's girth #confish@ubuntu7.10 $r=12.5; $g=12.5*2*3.1415; print "the girth of the circle is $g\n"; -----------------------/home/confish/perl/girth 2、修改上述程序,用户可以在程序运行时输入半径。如果,用户输入12.5,则应得到和上题一样的结果。 -----------------------/home/confish/perl/girthpro #!/usr/bin/perl -w #a better one to calculate girth #confish@ubuntu7.10 print"enter the radius of the circle\n"; chomp($r=); if($r>0) { print"the girth of the circle is ".$r*2*3.1415."\n"; } else { print"nonavailable!\n"; } -----------------------/home/confish/perl/girthpro 3、修改上述程序,当用户输入小于0 的数字时,程序输出的周长为0,而非负数。 -----------------------/home/confish/perl/girthzero #!/usr/bin/perl -w #calculate the girth and print 0 when the radius is lower than 0 #confish@ubuntu7.10 print"enter the radius of the line\n"; chomp($r=);

Perl语言入门实战习题[试题]

Perl语言入门实战习题[试题] 《Perl语言入门实战习题》 一、计算FASTA文件中每条序列的长度; 输入文件,FASTA格式: 注:如果输入文件在windows下产生,在Linux系统下操作时,宜先用dos2unix处理: 用法:dos2unix 输入文件 输出文件: Perl代码: #!/usr/bin/perl -w use strict; unless (@ARGV==2) { # @ARGV 传给脚本的命令行参数列表

die"Usage: perl $0 \n"; # 当命令行参数不是2的时候输出使用说明 } my ($infile,$outfile) = @ARGV; # 把命令行参数赋值给输入文件和输出文件 open IN,$infile || die"error: can't open infile: $infile"; # 打开输入文件句柄IN open OUT,">$outfile" || die$!; # 打开输出文件句柄OUT $/=">";; # 设置输入记录分隔符为”>”,并去除第一个”>” while ( my $seq = ){ # 把序列ID行和序列赋值给$seq my $id = $1 if($seq =~ /^(\S+)/); # 获取序列ID chomp $seq; # 去掉末尾的”>” $seq =~ s/^.+?\n//; # 删除第一行 $seq =~ s/\s//g; # 删除序列中的空白字符 my $len = length($seq); # 计算序列长度 print OUT "$id\t$len\n"; # 输出结果到输出文件 } $/="\n"; # 把输入记录分隔符改为默认值 close IN; # 关闭输入文件句柄 close OUT; # 关闭输出文件句柄 二、计算FASTA文件中每条序列的GC含量; 输入文件同上,输出文件: Perl代码: #!/usr/bin/perl -w use strict;

perl常用函数(适合初学者)!

指令:print 语法:print Filehandle LIST 说明:这个Filehandle可以看作在I(INPUT)/O(OUTPUT)之间的一个桥梁,可以利用FILEHANDLE来做出数据读入写出的动作.STDIN是代表从哪连输入数据,例如从电脑的键盘输入;STDOUT是代表从哪连输出数据;例如从电脑的屏幕输出;STDERR是代表从哪连输出错误的数据,例如从电脑的屏幕输出.而在PERL语言中有三个标准FILEHANDLE: 1.STDIN(标准输入):是代表STDIN的FILEHANDLE 2.STDOUT(标准输出):是代表STDOUT的FILEHANDLE 3.STDERR(标准错误输出):是代表STDERR的FILEHANDLE如果要使用其他FILEHANDLE的时候,就要用OPEN这个函数来打开一个FILEHANDLE,我们可以用PRINT这个函数LIST的数据输出给FILEHANDLE. 在为大家介绍PRINT这个函数之前,先让我们来看看PRINT函数中特殊打印字符: 指令:# 说明:注释符号Remark宣告 示例:#这是一个注释说明 -------------------------------------------------------------------------------- 指令:print 语法:print Filehandle LIST 说明:这个Filehandle可以看作在I(INPUT)/O(OUTPUT)之间的一个桥梁,可以利用FILEHANDLE来做出数据读入写出的动作.STDIN是代表从哪连输入数据,例如从电脑的键盘输入;STDOUT是代表从哪连输出数据;例如从电脑的屏幕输出;STDERR是代表从哪连输出错误的数据,例如从电脑的屏幕输出.而在PERL语言中有三个标准FILEHANDLE: 1.STDIN(标准输入):是代表STDIN的FILEHANDLE 2.STDOUT(标准输出):是代表STDOUT的FILEHANDLE 3.STDERR(标准错误输出):是代表STDERR的FILEHANDLE如果要使用其他FILEHANDLE的时候,就要用OPEN这个函数来打开一个FILEHANDLE,我们可以用PRINT这个函数LIST的数据输出给FILEHANDLE. 在为大家介绍PRINT这个函数之前,先让我们来看看PRINT函数中特殊打印字符: 符号其作用 \n 换行new line \r 光标换行return \t tab键 \f 换页form feed \b 退回一格 \v 垂直tab键 \a 响铃Bell \e escape键 \007 十进制ASC II码 \xff 十六进制码 \c[ 控制字符 示例:print STDOUT "网上学园\n"; 将"网上学园"加上换行显示在屏幕上. 语法:print LIST

PERL特点

Perl是Practical Extraction and Report Language(实用摘录和报告语言)的简称,是由Larry Wall所发起的Perl的设计目标是帮助UNIX用户完成一些常见的任务,这些任务对于Shell来说过于沉重或对移植性要求过于严格。现在,Perl已经可以方便地在OS/2,Windows 9x,Windows/NT等系统下运行。 Perl语言是在吸收了众多语言的长处基础之上发展起来的一门语言。因而,它既有一般程序设计语言的共同特征,也有其独特之处。其中,最重要的特性是它内部集成了正则表达式的功能,以及强大的第三方代码库CPAN(Perl综合典藏网,Comprehensive Perl Archive Network的缩写)。 Perl语言的特点包括:它是一种解释性语言;它具有高可用性、模块化和可重用性、可面向对象程序设计、可嵌入和可扩展性、遵循POSIX标准、支持多数据库的同时实现、高安全性、适合多种操作系统平台等;而且它是一款免费的自由软件。1 1.解释性语言 Perl是一种解释性语言,不需要编译器和链接器进行预先编译,直接由Perl解释器对源代码程序解释执行。程序员要做的只是写出程序并告诉Perl来运行而已。2这意味着对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案,Perl均可以十分理想的处理。Perl提供了脚本语言(如sed和awk)的所有功能,还具有它们所不具备的很多功能。Perl还支持sed到Perl及awk到Perl的翻译器。 2.高可用性 正如自然语言的思想可以用多种方式表达一样,Perl代码可以使用多种方式来编写。对整个程序或系统而言,Perl既可以用模块化的方法也可用面向对象的思想来编程。从一开始,Perl就设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。它可以很容易操作数字、文本、文件和目录、计算机和网络,特别是程序的语言。Perl能很容易运行外部的程序并且扫描这些程序的输出获取信息,并且还能把程序员专注的东西交给其它程序做特殊的处理。 3.模块化和可重用性 相对于其它程序设计语言而言,Perl的函数库被称作“模块”。“模块”可以被Perl程序所共享,因而Perl程序可以随意使用在“模块”中定义的函数接口。模块化是语言的重要特征之一,这一特征使得语言能够具有异常强大的功能。Perl由于引入了模块的设计思想,随着版本的改进,功能越来越强。现在Perl的功能已经超乎原先设计时的想象,几乎任何事都可以做到。最为著名的一点就是Perl对字符串的处理,由于Internet对文字信息处理的巨大需求,使得Perl的应用如日中天,而且Perl语言也的确是一个非常优秀的文字信息处理语言。 4.面向对象程序设计 Perl语言除了像传统的C语言那样可以采用结构化的程序设计思想外,还可以像C++语言那样采用面向对象的方法来设计。通过模块输入机制,外部的扩展模块可以作为内置于Perl 的特性。所以,面向对象的外部库在Perl内部仍然保持面向对象的特征。另外,Perl支持动态的多重继承和虚函数的方法。 5.可嵌入和可扩展 Perl是设计成可以用模块扩展的语言。Perl代码可以很容易地被嵌入到C/C++语言的应用程序中;同时,C/C++例程也可以很容易地被嵌入到Perl的应用程序中。程序员可以用Perl 快速设计,编写,调试和部署Perl应用,并且还可以在需要的时候很方便地扩展这些应用。 6.遵循POSIX标准

课课家教育-《Perl语言入门与生物信息》视频教程

本课程以《Perl语言入门》这本书为基础,但是绝对不是照本宣科将课程内容介绍一遍。我们会用让你最易于理解的方式来讲解Perl语言编程,让Perl语言编程更加容易。课程的名字叫做《Perl语言入门与生物信息》,因此,会介绍很多Perl在生物信息学中的实际案例。对于工作效率会有很大的提高。由于作者写过很多的perl程序,掌握了这门程序的很多技巧,积累了很多经验。这些技巧和经验会让你少走很多弯路。 目录 第1节 1-课程介绍 第2节 2-perl语言编程环境 第3节 3-vim 第4节

4-perl编程案例 第5节 5-变量数据(一)00:09:16 第6节 6-变量数据(二)00:09:37 第7节 7-标量数据(三)00:10:04 第8节 8-换行符 00:06:26 第9节 9-列表和数组(一)00:11:19 第10节

10-列表和数组(二)00:11:20 第11节 11-perl获取帮助00:09:36 第12节 12-输入和输出(一)00:09:10 第13节 13-输入和输出(二)00:07:50 第14节 14-格式转换程序00:05:38 第15节 15-哈希(一)00:06:15

第16节 16-哈希(二)00:11:06 第17节 17-序列提取 00:10:19 第18节 18-子程序 00:15:02 第19节 19-统计fasta子程序00:08:01 第20节 20-perl常见问题00:10:20 第21节 21-漫游正则表达式

00:14:01 第22节 22-以正则表达式经行匹配00:11:16 第23节 23-用正则表达式处理文本(一)00:12:53 第24节 24-用正则表达式处理文本(二)00:11:31 第25节 25-格式化序列和加千分位00:09:21 第26节 26-基因组信息统计 00:14:23 第27节

perl的一些基本用法

perl基本用法2010-02-10 09:50s/\s+/ /g 将空白符变成一个空格;s/^\s+// 去掉首空白;s/\s+$// 去掉尾空白;s/^\s+|\s+$// 去掉首尾空白;大小写转化的例子:s/(fred|barney)/\U$1/gi 匹配所有的忽略大小写,替换成大写;s/(fred|barney)/\L$1/gi 匹配所有的忽略大小写,替换成小写;s/(\w+) (\w+)/\U$2\E$1/i $2变成大写 $1还是保持小写,\E结束转换;CPAN 是 Comprehensive Perl Archive Network 的缩写,中译为 Perl 综合典藏网。它包含了极多用 Perl 写成的软件和模块。CPAN相关软件的安装方法最近几天安装SPAMASSASSIN,牵涉到许多CPAN的安装,以前都是缺少什么,就去CPAN网站寻找相应的模块,自己编译安装,后来发现其实CPAN自己的shell命令就可以很方便的安装相应模块,真是方便当然前提你必须安装perl-CPAN,在我的redhat9.0上的版本是perl-CPAN-1.61-88,大家没装的话,直接用光盘的rpm包安装即可。安装后运行[root@www CPAN]# perl -MCPAN -e shellcpan shell -- CPAN exploration and modules installation (v1.61) ReadLine support available (try 'install Bundle::CPAN')cpan>进入cpan的shell,好了,我为了安装spamassassin,需要安装以下几个install Digest::SHA1 install HTML::Parser install Storable install DB_File install Net::DNS install Net::SMTP install Mail::SPF::Query install IP::Country::Fast install IO::Socket::SSL install Time::HiRes install DBI是不是很方便呀,不用再单独下载编译安装了, 类型字符例子用于哪种名字 标量 $ $cents 一个独立的数值(数字或字串) 数组 @ @large 一列数值,用编号做键字 散列 % %interest 一组数值,用字串做键字 子过程 & &how 一段可以调用的 Perl 代码 类型团 * *struck 所有叫 struck 的东西 手册页内容 perl 有些什么 perl 手册页 perldata 数据类型 perlsyn 语法 perlop 操作符和优先级 perlre 正则表达式 perlvar 预定义变量 perlsub 子过程 prelfunc 内建函数 perlmod 如何令 Perl 模块工作 perlref 参考手册 perlobj 对象 perlipc 进程间通讯 perlrun 如何运行 Perl 命令,以及命令行开关 perldebug 调试

50本Perl经典电子书打包下载

50本Perl经典电子书打包下载 上回是谁要的忘记了,就发在这吧。 打了3个独立压缩包,上传到网盘了,速度可能有些慢,下载地址:https://www.doczj.com/doc/3b15067984.html,/perl 书目如下: Perl5编程核心技术.pdf Perl5基础与实例.pdf Perl5实用编程技术.pdf Perl-DBI编程.pdf Perl-LWP.chm Perl-XML.chm perl编程24学时教程.pdf Perl编程思想-基础篇.pdf perl编程思想-应用篇.pdf Perl技术内幕.pdf Perl实例精解-第3版.pdf Perl语言编程.pdf Perl语言入门.pdf 21DayPerl.pdf Advanced.Perl.Programming.1st.Edition.pdf Advanced.Perl.Programming.2nd.Edition.chm Beginning.Perl.Web.Development.From.Novice.To.Professional.pdf Bioinformatics.Biocomputing.and.Perl.pdf Catalyst-Perl.pdf Embedding.Perl.In.Html.With.Mason.chm Extreme.Programming.in.Perl.pdf Graphics.Programming.With.Perl.pdf Higher.Order.Perl.pdf Impatient.Perl.pdf Learning.Perl.4th.Edition.Jul.2005.chm Learning.Perl.5th.Edition.Jul.2008.pdf Learning.Perl.on.Win32.pdf Mastering.Algorithms.with.Perl.pdf Mastering.Perl.Jul.2007.pdf Network.Programming.With.Perl.chm Perl Hacks.chm Perl.5语言命令详解.pdf Perl.Cookbook.2nd.Edition.pdf Perl.Debugged.pdf Perl.in.a.Nutshell.pdf Perl.On.MVS.pdf

Perl语言入门(第四版)习题答案

《Perl语言入门习题答案》 2.12 练习 1、写一个程序,计算半径为12.5的圆的周长。圆周长等于2π(π约为3.1415926)乘以半径。答案为78.5。 -----------------------/home/confish/perl/girth #!/usr/bin/perl -w #this program calculate a circle's girth $r=12.5; $g=12.5*2*3.1415; print "the girth of the circle is $g\n"; -----------------------/home/confish/perl/girth 2、修改上述程序,用户可以在程序运行时输入半径。如果,用户输入12.5,则应得到和上题一样的结果。 -----------------------/home/confish/perl/girthpro #!/usr/bin/perl -w #a better one to calculate girth print"enter the radius of the circle\n"; chomp($r=); if($r>0) { print"the girth of the circle is ".$r*2*3.1415."\n"; } else { print"nonavailable!\n"; } -----------------------/home/confish/perl/girthpro 3、修改上述程序,当用户输入小于0 的数字时,程序输出的周长为0,而非负数。 -----------------------/home/confish/perl/girthzero #!/usr/bin/perl -w #calculate the girth and print 0 when the radius is lower than 0 print"enter the radius of the line\n"; chomp($r=); if($r>0) { print"the girth of the circle is $r*2*3.1415\n"; } else

perl用来提取文本行或列的实例代码

初学perl语言,感觉提取文本矩阵的某些行或者列还是比较有用的。下面是举一些具体的例子,供大家学习参考。 第一:提取含有某个关键字的行: 复制代码代码如下: #!/usr/bin/perl open FILE, "E:/SNP.txt "; open OUT1,'+>E:/file3.txt'; foreach () { @pairs=split(/ /, $_); $count=@pairs; if($pairs[$count-1] =~ m/^reference$/) { print OUT1 $_,"\n"; } } close(FILE); close(OUT1); 第二:提取指定的某些列(提取1 2 3 5列): 复制代码代码如下: #!/usr/bin/perl open(INFILE, "E:/file3.txt"); open(OUTFILE, ">E:/file4.txt")|| die "Cannot open the newfile: $!\n";;

while () { @a = split(" "); print OUTFILE "$a[0]\t $a[1]\t $a[2]\t $a[4]\n"; } exit; 第三:去掉文本中有空行的命令: 复制代码代码如下: #!/usr/bin/perl open(INFILE, "E:/file3.txt"); open(OUTFILE, ">E:/file4.txt")|| die "Cannot open the newfile: $!\n";; while () { if (!/^$/){ print OUTFILE "$_";} } exit; 第四:自己编写的提取文本中含有某个关键字的命令(感觉比较实用):复制代码代码如下: #!/usr/bin/perl open FILE, "E:/chr_2.txt "; open OUT1,'+>E:/chr_2_refference.txt'; foreach () { if(/reference$/) { print OUT1 $_,"\n";

Perl 常用函数集锦

1 Perl 常用函数集锦 最近在研究 Perl ,发现 Perl 的确如 Larry Wall 所说“是一门极其有趣的语言”,然而,Perl 的价值远不止于此——“Perl对真实生活的反映--他的人性特征--是内建于这门语言的深厚的哲学结构。”Perl是第一个后现代的计算机语言,Wall说,“一个人造自然语言,模拟了程序员是如何思考的”。可以说,Perl沿着一门真实语言的道路发展,吸收了长期以来其他语言的优点——有一些Unix,一些c++,一些BASIC,一点这个,一点那个 ... 如果其他任何人有一些新鲜、有用的东西,Perl会包含他。当Wall调用这些“后现代主义”的概念,他是指Perl的折衷、包容的方式——在每一个隐蔽处和裂缝中都可以找到的一点点真理的能力,同时不用使它自己被任何大的真理所包围。 而众所周知,Perl 之所以被很多人所采用的原因,很大一部分在于它简洁的语法和对字符以及数组的超强控制功能,可以说它包含了“最大适度的灵活性和稳定性”,现在这里,石头整理并总结了网上的一些资料,以及自己总结出这篇文章,希望对所有的 Perl 爱好者有一定的帮助和参阅价值 指令: printf 语法: printf Filehandle LIST 说明:在perl语言中也提代C语言中printf的语法,用法和C语言中的用法一模一样.如果把Filehandle省略的话 ,也一样会把STDOUT当成是内定的Filehandle.在为大家介绍printf函数之前,先让我们来看看printf函数中变换符号的字符. 符号其作用 %c 字符 %s 字符串 %d 整数 %f 浮整数

Perl学习笔记

Perl学习笔记 廖海仁 2010年5月

目录 1.Perl简介 (4) 2.数据类型 (5) 2.1概览 (5) 2.2命名空间(Namespaces) (5) 2.3标量(Scalars) (6) 2.4数组(Arrays) (9) 2.5关联数组(Hashes) (12) 2.6引用(References) (13) 2.6.1 Perl引用简介 (13) 2.6.2 创建引用 (13) 2.6.3 使用引用 (14) 2.6.4 符号引用 (15) 2.6.5 垃圾回收与弱引用 (16) 2.7数据结构 (16) 2.7.1Arrays of Arrays (17) 2.7.2Hash of Arrays (19) 2.7.3Arrays of Hashes (21) 2.7.4Hashes of Hashes (23) 2.7.5Hashes of Functions (25) 3操作符(Operators) (25) 3.1 概述 (25) 3.2 Perl操作符一览 (26) 3.3 各种操作符使用说明 (27) 3.3.1 项与左赋列表操作符 (27) 3.3.2 箭头操作符 (28) 3.3.3 自增自减 (28) 3.3.4 乘方 (28) 3.3.5 表意一元操作符 (28) 3.3.6 捆绑操作符 (29) 3.3.7 乘操作符 (29) 3.3.8 加操作符 (29) 3.3.9 移位操作符 (29) 3.3.9 有名一元和文件测试操作符 (30) 3.3.10 关系操作符 (31) 3.3.11 位操作符 (32) 3.3.12C风格逻辑操作符 (32) 3.3.13 范围操作符 (32) 3.3.14 条件操作符 (32) 3.3.14 赋值操作符 (33) 3.3.15 逗号操作符 (33) 3.3.16 逻辑and, or, not和xor操作符 (33) 3.4 与C操作符的比较 (34) 3.4.1 Perl操作符的特别之处 (34)

PERL基础知识点

开始学习Perl 1.以#开始的语句表示注释。Perl语句以分号表示结束。 2.Perl语言中也有转义字符,这点与C语言类似。 3.$表示该符号后所跟的字符串是一个标量变量,即该变量只能保存 一个数值或者字符串。Perl语言中有两种变量,标量变量和数组变量。 4.在Unix中,所有程序都拥有三个打开的文件:STDIN(标准输入) STDOUT(标准输出)STDERR(标准错误)。Perl当然可以使用这三个。 5.使用chomp命令可以去掉多余的数据,主要是针对回车和换行。 每个系统都配置了该命令,用于去掉注释的行末尾符号。 6.Perl语言用于字符串比较的操作符。eq(等于)ge(大于等于)gt (大于)le(小于等于)lt(小于)ne(不等于)cmp(字符串比较)。 7.在Unix中,可以把Perl脚本转换成一个可执行的程序。 Perl基础知识 1.控制Perl脚本--while命令,和C语言的一样。 2.控制Perl脚本--until命令,实现与while正好相反的控制,只要 条件为假,程序块不断被执行,直到条件为真结束。

3.控制Perl脚本--if命令,和C语言的一样。 4.控制Perl脚本--unless命令,与if语句相反,当条件不为真是 执行。语句格式与if的一样。 5.控制Perl脚本--for循环,和C语言的一样。 6.控制Perl脚本--foreach语句,使得对列表或数组中的每一个元 素进行循环。 7.Perl语言的所有数学运算都以双精度的浮点数进行。如果想使用整 数操作,则需要在程序块中增加这样的语句:use integer; 8.单引号所引起的为字符串本身,Perl对单引号中的内容提供了较少 的解释。 9.双引号中的内容,Perl对其进行较多的解释,可以有转义字符,用 变量的值替代变量。 10.如果数据本身已经有引号,可以使用q操作符生成字符串,产生 一个单引号的字符串。$var=q('Single-quoted string'); 11.qq可以数据本身含有双引号的字符串,用法与q相似。 12.字符串函数——length:返回字符串中的字符数目。 13.字符串函数——chr:返回一个给定ASCII码数值对应的字符。 14.字符串函数——uc:把一个小写字符串转换成大写。 15.字符串函数——index:返回一个子串在字符串出中第一次出现的

Perl 语言的运算符号字符

Perl 语言的运算符号字符 三、Perl的运算符号字符 赋值(Assignment)运算符 算术(Arithmetic)运算符 数值(Numeric Values)关系运算符 字符串(String Values)关系运算符 逻辑(Logical)运算 其它常用的运算符 常用的文件数据(File test)运算符 赋值(Assignment)运算符 符号 范例 说明 = $x=$y; 将$x的值指派给$y += $x+=$y;

$x=$x+$y; 将$x加$y之后再指派给$x -= $x-=$y; $x=$x-$y; 将$x减$y之后再指派给$x *= $x*=$y; $x=$x*$y; 将$x乘$y之后再指派给$x /= $x/=$y; $x=$x/$y; 求出$x除以$y之后的商数,再指派给$x **= $x**=$y; $x=$x**$y; 将$x乘上$y次方之后再指派给$x

%= $x%=$y; $x=$x%$y; 求出$x除以$y的余数以后,再指派给$x .= $str1.=$str2; $str1=$str1.$str2; 将$str1这个字符串再加上$str2这个字符串之后,再指派给$str1这个字符串 x= $strx=$y; $str=$strx$y; 重复$str字符串$y次,并反结果指派给str这个字符串 算术(Arithmetic)运算符 符号 范例 说明 + $z=$x+$y

将$x和$y相加之后,再将结果指派给$z - $z=$x-$y 将$x减掉$y之后,再将结果指派给$z * $z=$x*$y 将$x和$y相乘之后,再将结果指派给$z / $z=$x/$y 将$x除以$y之后,再将商数指派给$z % $z=$x%$y 将$x除以$y之后,再将余数指派给$z ** $z=$x**$y 将$x乘以$y之后,再将结果指派给$z ++ $x++;++$x; 如同$x=$x++1;将$x加一以后再将结果指派给$x -- $x--;--$x; 如同$x=$x-1;将$x减一以后再将结果指派给$x

相关主题
文本预览
相关文档 最新文档