perl
文章平均质量分 59
doudou8486
这个作者很懒,什么都没留下…
展开
-
Perl的特殊符号
Perl的特殊符号 @ 数组 $x{} x名字前面是美元符号($),后面是花括号({}),则其为 hash 元素% 要引用整个 hash,使用百分号(“ )作为前缀。前面几页中使用的 hash 的名字为%family_name。$! 系统产生的一些可读的信息,也可能是出转载 2013-12-20 15:54:47 · 2453 阅读 · 0 评论 -
递归实现斐波拉奇
@sampleValues = (0, 1, 2, 3, 4, 5, 6, 10, 20, 30, 35);# Calculate and print the fibonacci value of all the above valuesforeach ( @sampleValues ) { print "fibonacci( $_ ) = ", fibonacci( $_ )转载 2011-11-19 01:46:06 · 717 阅读 · 0 评论 -
perl note
$string=join(‘ ’, (‘A’, ‘B’, ‘C’, ‘D’, ‘E’));The result would be $string set to “A B C D E”. (The parentheses around the arguments are optional as with most Perl functions.)You can use the revers转载 2011-10-29 17:27:26 · 423 阅读 · 0 评论 -
匿名数组和匿名hash ->
#匿名数组my $array = [qw(a b c d e f)];print("@ $array\n");my $array1;@ $array1 = ("a","b");$$array1[5] = "f";$array ->[2] = "c";@ $array1[3,4] = ("d","e");print("@ $array1\n");#匿名ha原创 2011-11-19 01:43:57 · 914 阅读 · 0 评论 -
perl ->用法
$tags[1][0] = "a";$tags[1][1] = "b";$tags[1][2] = "c";$mature = \@tags;$b = $$mature[1];#等同于$c = $mature->[1];print $b,"\n";print $c,"\n";$tags[1][0] = "a";$tags[1][1] = "b";$t原创 2011-11-17 03:17:17 · 588 阅读 · 0 评论 -
perl判断空字符串
判断字符串是否为空一般用以下可以了: if(!$str) { print "this is an empty/undefined string\n " } 如果你还想区别空串 " " 和未赋有效值的串可以用 if(!$转载 2011-08-12 13:28:53 · 14019 阅读 · 0 评论 -
perl判断空字符串
判断字符串是否为空一般用以下可以了: if(!$str) { print "this is an empty/undefined string\n " } 如果你还想区别空串 " " 和未赋有效值的串可以用 if(!$str) { if(defined $转载 2011-08-12 09:30:03 · 2547 阅读 · 0 评论 -
perl hash 排序
<br /><br />对value排序,数值型<br />foreach my $key (sort {$hash{$b} <=> $hash{$a}} keys %hash){<br />push(@hash, $key);<br />}<br /> <br />对value排序,字符型<br /><br />foreach my $key (sort {$hash{$b} cmp $hash{$a}} keys %hash){<br />push(@hash, $key);<br />}<br />原创 2011-04-26 21:51:00 · 1153 阅读 · 0 评论 -
hash
<br />Perl 虽因其字符串处理能力而闻名,但是这并不意味着 Perl 只能做字符串处理。这种语言还提供相当多的函数来处理和操纵其它的数据结构,其中包括很流行的数组和哈希。我们这篇文章展示了一些属于这一类的非常有用的 函数,并简要解释了每个函数的工作方式以及使用它们的时机。<br /> 函数 解释 示例 <br />scalar(@arr) 这个函数将一个数组或哈希强迫解释成一个标量。当你需要得到一个数组或哈希的元素个数时,这一函数非常有用。<br /> 使用这个函数获取数组或哈希的大小,为循环以及处转载 2011-04-26 12:18:00 · 487 阅读 · 0 评论 -
->、=>、::作用
<br /><br />What do the ->, => and :: symbols mean?<br /> <br /> The -> is the "infix dereference operator". In other words it is the means by which one calls a sub with a pass by reference (among other things you can do with ->). As stated above most thi转载 2011-04-14 15:07:00 · 616 阅读 · 0 评论 -
perl index
perl index函数的用法2009-11-13 19:18The index()function is used to determine the position of a letter or a substring in a string. For example, in the word "frog" the letter "f" is in po转载 2011-12-03 23:40:10 · 1341 阅读 · 0 评论 -
Perl 中的线程
线程概述线程是一个单一的执行流程,它是所有程序执行过程中最小的控制单位,即能被 CPU 所调度的最小任务单元。线程与进程之间既有联系,又完全不同。简单地说,一个线程必然属于某一个进程,而一个进程包含至少一个或者多个线程。早期的计算机系统一次只能运行一个程序,因此,当有多个程序需要执行的时候,唯一的办法就是让它们排成队,按顺序串行执行。进程的出现打破了这种格局,CPU 资源按时间片被分割开来,分转载 2012-05-18 00:57:30 · 2552 阅读 · 1 评论 -
使用Perl绘制统计图
Bar#!/use/bin/perluse SVG::TT::Graph::Bar;my @fields = qw(Jan Feb Mar);my @data_sales_02 = qw(12 45 21);my $graph = SVG::TT::Graph::Bar->new( { 'height' => '500',转载 2012-05-18 00:29:03 · 2785 阅读 · 0 评论 -
perl unshift @INC
Perl包和模块一、require函数用require函数可以把程序分割成多个文件并创建函数库。例如,在myfile.pl中有定义好的Perl函数,可用语句require("myfile.pl");在程序中Perl包含进来。当Perl解释器看到这一语句,就在内置数组变量@INC指定的目录中寻找文件myfile.pl。如果找到了,该文件中的语句就被执行,否则程序终止并输出错误信息:转载 2013-12-20 16:26:34 · 6229 阅读 · 0 评论 -
perl ||=
||是 或运算符···如果前面的变量为空··那么就会执行后面的表达式·条件控制#!/usr/bin/perluse strict;use warnings;my $s =4;$s ||= 3;print $s;相当于if(defined $_){$_=4;}else{$_=3;}print $s;转载 2013-12-20 16:10:29 · 2814 阅读 · 0 评论 -
perl BEGIN和END用法
本文和大家重点学习一下Perl语言中BEGIN和END的使用,Perl能在绝大多数操作系统运行,可以方便地向不同操作系统迁移,希望本文的介绍能让你有所收获。关于Perl语言中BEGIN和END的使用Perl语言学习者必须关注…很强实用性。有些时候我们需要在Perl业务代码开始执行之前做一些初始化工作,或者在结束的时候做一些收尾的工作,Perl语言提供了这样的块BEGIN和E转载 2013-12-20 15:50:17 · 3520 阅读 · 0 评论 -
perl do()用法
语法do BLOCKdo EXPRdo SUB(LIST)定义和使用提供了一个块时,执行IF块是一个函数,返回的值的最后一个语句块中的计算值。当提供EXPR,执行EXPR就好像它是另外一个Perl脚本指定的文件。如果提供了一个子程序,SUB,执行子程序的参数列表,SUB抛出一个异常,如果没有被定义返回值转载 2013-12-20 15:49:37 · 3737 阅读 · 0 评论 -
perl处理中文
Perl从5.6开始已经开始在内部使用utf8编码来表示字符,也就是说对中文以及其他语言字符的处理应该是完全没有问题的。我们只需要利用好Encode这个模块便能充分发挥Perl的utf8字符的优势了。 下面就以中文文本的处理为例进行说明,比如有一个字符串"测试文本",我们想要把这个中文字符串拆成单个字符,可以这样写: use Encode; $dat="测试文本"; $st转载 2013-09-29 14:28:57 · 2126 阅读 · 0 评论 -
perl pod文档使用 =head =cut =pod pod2text 实现程序usage说明
perl pod文档使用 =head =cut =pod pod2text 实现程序usage说明=head1 NAMEThe name of your program or module. =head1 SYNOPSISA one-line description of what your program or module does (purportedly).转载 2013-05-06 23:43:50 · 3139 阅读 · 0 评论 -
perl中调用方法
Perl语言的强项就在于文本处理(当然主要是纯文本),而恰好大多数生物信息学数据都是以纯文本的形式存放的(包括蛋白质、核酸等序列文件,序列比对文件,进化树文件等),BioPerl是为了分析、处理这些文本数据文件。生物大分子序列的书写有好多种格式,如Fasta, Genbank, EMBL, SwissProt等。Fasta是最简单的序列格式,由于BioPerl一般是把从大于号开始一直到转载 2013-04-17 16:42:35 · 3676 阅读 · 0 评论 -
使用ensembl api鉴定假常染色体区段
PAR regionsThe pseudo-autosomal regions are homologous DNA sequences on the (human) X and Y chromosomes. They allow the pairing and crossing-over of these sex chromosomes the same way the autoso转载 2013-03-28 10:31:23 · 2739 阅读 · 0 评论 -
使用ensembl的API下载数据
Ensembl 是一项生物信息学研究计划,旨在开发一种能够对真核生物基因组进行自动诠释(automatic annotation)并加以维护的软件。该计划由英国Sanger研究所Wellcome基金会及欧洲分子生物学实验室所属分部欧洲生物信息学研究所共同协作运营(http://zh.wikipedia.org/wiki/Ensembl)。Ensembl数据库本身提供了非常人性话的操作界转载 2013-03-28 10:30:39 · 5210 阅读 · 1 评论 -
perl中->和=>作用
<br /><br />-> 有两种用法,都和解引用有关。 <br /> <br /> <br /> <br />第一种用法,就是解引用。 <br />根据 -> 后面跟的符号的不同,解不同类型的引用, <br />->[] 表示解数组引用,->{} 表示解散列引用,->() 表示解子程序引用。 <br />例子: <br />$arr_ref = /@array; <br />$arr_ref->[0] 访问数组 @array 的第一个元素。 <br />$hash_ref = /%hash; <br /转载 2011-04-14 15:01:00 · 2139 阅读 · 0 评论 -
perl hash
<br /><br />Perl基础 Perl哈希表 <br />一、什么是Perl哈希表<br />Perl哈希表是一种数据结构,和数组类似,可以将值存放到其中,或者从中取回值。但是,和数组不同的是,其索引不是数字,而是名字。也就是说,索引(这里,我们将它叫key)不是数字而是任意的唯一的字符串。<br />key可以是任意的字符串,你可以使用任何的字符串作为key,但它们是唯一的。<br />另一种思考hash的方法是,把它看作一堆数据(abarrelofdata),每一个数据都有一个相应的标签。可以通转载 2011-03-06 20:55:00 · 2844 阅读 · 0 评论 -
NCBI sequence download
<br />#!usr/bin/perluse English '-no_match_vars';use strict;use warnings;use Bio::Perl;my $database = 'genbank';my $format = 'fasta';my @accessions = ( "bunch", "of", "accession", "numbers");for my $i ( 0 ... 2000 ) {转载 2010-11-21 18:31:00 · 980 阅读 · 1 评论 -
bioperl安装
<br />Comand-line Installation<br />Use the ActiveState ppm-shell:Open a cmd window by going to Start >> Run and typing 'cmd' and pressing return.DoC:> ppm-shellppm>Make sure you have the module PPM-Repositories. Try installing it:ppm> install PPM-Repo转载 2010-11-21 18:32:00 · 1244 阅读 · 0 评论 -
perl
<br /><br />一) sort函数<br /> <br />sort LIST<br />sort BLOCK LIST<br />sort SUBNAME LIST<br /> <br />sort的用法有如上3种形式。它对LIST进行排序,并返回排序后 的列表。假如忽略了SUBNAME或BLOCK,sort按标准字串比较顺序来进行(例如ASCII顺序)。如果指定了SUBNAME,它实际上是个子函 数的名字,该子函数对比2个列表元素,并返回一个小于,等于,或大于0的整数,这依赖于元素以何种顺序来s转载 2010-11-18 09:21:00 · 427 阅读 · 0 评论 -
perl ->,=>
<br />12.1. 符号->,=>和::分别表示什么意思?<br /><br /> ‘- >’符号是“插入式解引用操作符”(infix dereference operator)。换句话说,它是调用由引用传递参数的子程序的方法(当然,还有其它的作用)。正如我们上面所提到的,在调用Perl/Tk的函数的时候,大部分参数都是通过引用传递的。Perl中的‘->’功能就和它们在C或C++中一样。(大部分原始的组件都是Tk中的Perl类的元素。)下面是一个简单的解引用的例子:<br /><br /> $x =转载 2010-11-18 09:24:00 · 1399 阅读 · 0 评论 -
perl 二维数组排序
<br />use strict;<br /><br />my @list;<br />$list[0][0]="s";<br />$list[0][1]="3";<br /><br />$list[1][0]="d";<br />$list[1][1]="4";<br /><br />$list[2][0]="w";<br />$list[2][1]="2";<br /><br />$list[3][0]="h";<br />$list[3][1]="0";<br /><br />$list[4][0]=转载 2010-11-18 09:34:00 · 2258 阅读 · 0 评论 -
Getopt::Std模块的使用:
<br />Getopt::Std模块的使用:<br /><br />初始设置: <br /><br />在程序中加入如下代码:<br /> use Getopt::Std;<br /> use vars qw($opt_d $opt_f $opt_p);<br /> getopts('d:f:p');<br /> (注意上两行的参数要对应)<br /><br />[ 解释一下"d:f:p",d和f后有冒转载 2010-11-15 20:51:00 · 704 阅读 · 0 评论 -
正则表达式中"?"的扩展用法
<br /><br />又分三小种用法。<br />第一种 指明非捕捉用的括号<br /><br />我们已经知道括号可以捕捉匹配上的字符串,并将它们存入变量之中,如果只想用括号将某部分进行分组?考虑这样的正则表达式:只希望其中一部分括号中所匹配的内容被存入内存变量中。在下面的例子中,我们希望“bronto”是可选择的,为了将它变成可选择的,我们需要将它用括号括起来。接着,模式使用了一个模式可以得到“steak”或者“burger”,匹配上的字符串被存入内存变量中。<br />if(/(bronto)?sa转载 2010-11-15 20:50:00 · 799 阅读 · 0 评论 -
perl多线程
<br />例子一:<br />http://yufengseu.spaces.live.com/Blog/cns!31875D62B958914B!138.entry<br />以前为了方便自己(当然也是为了偷懒^_^)使用perl写了一个脚本来抓取网页,并进行分析以获取我想要的信息,随着要抓取的网页越来越多,这个脚本的执行效率明显变慢,于是想到了使用多线程来节省在抓取网页上花费的时间(这个是耗时最多的过程占了90%的时间)由于对perl的使用时间不是很长, 使用的次数也不是很多,因此一直不知道perl支转载 2010-12-02 18:53:00 · 1567 阅读 · 0 评论 -
perl比较两个文件,输出不同行
<br /><br />#!/usr/bin/perl -w<br /> <br />open (MI16, "16.list");<br />open (MI15, "15.list");<br />open (MI, ">1.list");<br /> <br />@line = <MI16>;<br />@line2 = <MI15>;<br /> <br />foreach $mi_16(@line)<br />{<br />$flag = 0;<br />foreach $mi_15(@line2原创 2010-10-07 15:56:00 · 3071 阅读 · 1 评论 -
Passing Data to Subroutines
<br /><br />Passing Data to Subroutines<br />When you start parsing GenBank, PDB, andBLAST files in later chapters, you'll need more complicated arguments to yoursubroutines to hold the several fields of data you'll parse out of the records.These nex转载 2011-02-28 21:59:00 · 310 阅读 · 0 评论 -
$$
<br />The use of $$ instead of $ at the beginning of two of these variables indicates that they are references to scalar variables. Recall that they were passed in as arguments to the subroutine, where they were preceded by a backslash, like so: parse_bl原创 2011-02-28 22:02:00 · 452 阅读 · 0 评论 -
$$
<br />The use of $$ instead of $ at the beginning of two of these variables indicates that they are references to scalar variables. Recall that they were passed in as arguments to the subroutine, where they were preceded by a backslash, like so: parse_bl原创 2011-02-28 22:02:00 · 280 阅读 · 0 评论 -
perl hash
<br /><br />perl hash常用方法<br />2009-08-05 19:25<br />#!/usr/bin/perl -w<br />#1、基本<br />$family_name{"fred"}="flintstone"; //基本付值key/vaue<br />$family_name{"barney"}="rubble";<br />foreach $person(qw<barney fred>) //指定key集合遍历<br />{<br />print "I've hear转载 2011-03-06 20:51:00 · 621 阅读 · 0 评论 -
perl hash
<br /><br />二维哈希:使用$hash{$key1}{$key2} = $value;<br /> <br />遍历(注意加粗与加下划线的语句)<br />foreach my $key1 (sort keys %hash) #首先对key1进行排序<br />{ <br /> foreach my $key2 (sort {$hash{$key1}->{$b}<=>$hash{$key1}->{a}} keys %{$hash{$key1}}) #对value值按照数字大小进行逆序转载 2011-03-06 20:46:00 · 453 阅读 · 0 评论 -
利用hash计数
<br />open(A, "a.txt");my @a = ;my %dic; foreach (@a) { chomp($_);$dic{lc $_}++; } foreach (sort keys %dic) { print $_."/t".$dic{$_}."/n"; }原创 2011-03-06 16:06:00 · 708 阅读 · 0 评论 -
perl指针
<br /><br />本文和大家重点学习一下Perl引用/指针的概念,Perl引用就是指针,可以指向变量、数组、哈希表(也叫关联数组)甚至子程序。相信通过本文的学习你对Perl引用的概念一定会有深刻的认识。<br /> <br />Perl引用/指针<br /> <br />一、Perl引用简介<br /> <br />Perl引用就是指针,可以指向变量、数组、哈希表(也叫关联数组)甚至子程序。Pascal或C程序员应该对Perl引用(即指针)的概念很熟悉,Perl引用就是某值的地址,对其的使用则取决于程转载 2011-03-10 12:53:00 · 1214 阅读 · 0 评论