随笔分类 - perl
摘要:$length = keys %hashname;则$length中得到的直接是该hash的key的个数。
阅读全文
摘要:foreach my $i (@region){ $all++; @Rgene = split "\t",$i; system "samtools depth -r $Rgene[1] $bam > $all.txt"; my $file = "$all.txt";# print $file,"\n"; open(IN2,"$file"); while(){ chomp; $sum++; my @line = split "\t";
阅读全文
摘要:二维哈希:使用$hash{$key1}{$key2} = $value;遍历(注意加粗与加下划线的语句)foreach my $key1 (sort keys %hash) #首先对key1进行排序{ foreach my $key2 (sort{$hash{$key1}->{$b}$hash{$key1}->{a}} keys%{$hash{$key1}}) #对value值按照数字大小进行逆序排序# foreach my $key2 (sort {$a$b} keys%{$hash{$key1}}) #对key2按照数字大小进行排序 { print $key1."\t
阅读全文
摘要:$- 当前页可打印的行数,属于Perl格式系统的一部分$! 根据上下文内容返回错误号或者错误串$” 列表分隔符$# 打印数字时默认的数字输出格式$$ Perl解释器的进程ID$% 当前输出通道的当前页号$& 与上个格式匹配的字符串$( 当前进程的组ID$) 当前进程的有效组ID$* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.$, 当前输出字段分隔符$. 上次阅读的文件的当前输入行号$/ 当前输入记录分隔符,默认情况是新行$: 字符设置,此后的字符串将被分开,以填充连续的字段.$; 在仿真多维数组时使用的分隔符.$? 返回上一个外部命令的状态$@ Perl解释器从eval语
阅读全文
摘要:引用:http://www.biostatistic.net/thread-98-1-1.html1 直接用system()命令 比如有个test.R程序,可以通过下面的方式调用: system("R <test.R --vanilla")如果要调用可执行程序,如:lwolf.exe只需: system("lwolf.exe")
阅读全文
摘要:##读取前200行#open (IN2,"G:\\PROJECT\\project_insection\\insert_B73_1.txt") or die "$!";#open (OUT2,"+>G:\\PROJECT\\project_insection\\insert_B73_1_myout.txt") or die "$!";#my @myout;#while(<IN2>)#{# if($.<=200)# {# push @myout,$_;# }#}#print OUT2 @myo
阅读全文
摘要:my $aref =[[1,2,3],[4, 5, 6],[7, 8, 9]];foreach my $key (@{$aref}){ my $b=$key->[0]; print $b,"\n";}147my @difs;my (%records,%record1,%record2);@difs1= qw /a b c/;@difs2= qw /d e/;$record1{"xg3"}=\@difs1;$record1{"xg5"}=[@difs2];print "test value:",$record1
阅读全文
摘要:文件测试 Perl的文件操作也可以先测试文件是否存在,是否可读写等,这样操作起来会更安全。如: $x="abc.txt"; if(-e $x) { #abc.txt是否存在? # 存在操作 } else { printf "文件不存在。\n"; } -e 操作符用于测试文件或目录是否存在。 以下为所有文件测试操作符的清单:文件测试 测试操作符提供的信息-r 文件或目录可读-w 文件或目录可写-x 文件或目录执行-o 文件或目录归用户所有-R 文件或目录对真正用户可读-W 文件或目录对真正用户可写-X 文件或目录对真正用户执行-O 文件或目录归真正用户所有
阅读全文
摘要:十六进制数转换为十进制数$hexStr="0e"; print hex($hexStr);二进制数转换为十进制数print oct("0b"."10101010")."\n";十进制转换为二进制$Str = sprintf("%b","1432")+0;print $Str;十进制转换为十六进制$Str = sprintf("%x","14"); print $Str;十进制转换为八进制$Str = sprintf("%o&q
阅读全文
摘要:open (TEST, "$infile")while (<TEST>){ my $line_1=$_; my $line_2=<TEST>; my $line_3=<TEST>; my $line_4=<TEST>;}
阅读全文
摘要:1. Perl函数通过 & 调用.2. Perl参数Perl天然支持可变数目个参数。在函数内部,所有参数按顺序放在数组 @_ 中。在函数内部,$_[0] 表示函数的第一个参数。其余类推。3. shiftshift 后跟一个数组,表示将数组的第一个值返回。数组也被改变,其第一个元素被弹出。演示代码一(求最大值):#!/usr/bin/perl -wuse strict;# 调用函数max,取得一组数值的最大值,并输出。my $maxValue = &max(11,22,33);print "maxValue=$maxValue\n";sub max { # 采
阅读全文
摘要:(一)undef简介 变量在第一次赋值前有一个特殊值undef,按照Perl来说就是: “这里什么也没有,请继续” 。如果这里的“什么也没有”是一些“数字” ,则表现为 0。如果是“字符串” ,则表现为空串。但undef 既非数字也非字符串,它是另一种标量类型。由于undef 在需要数字的地方可以自动转化为 0,因此可以如下的写代码:#!/usr/bin/perlwhile($n<10){$sum+=$n;$n+=2;}print "The total was $sum.\n";Output: The total was 20.上述代码在$sum未初始化(undef)
阅读全文
摘要:\d 任意数字 [0-9]\D 除数字外的任意字符 [^0-9]\w 任意单词字符 [_0-9a-zA-Z]\W 任意非单词字符 [^_0-9a-zA-Z]\s 空白 [ \r\t\n\f]\S 非空白 [^ \r\t\n\f]g 匹配所有可能的模式i 忽略大小写m 将串视为多行o 只赋值一次s 将串视为单行x 忽略模式中的空白因此.*将匹配任意字符任意多数但是.不匹配换行符
阅读全文
摘要:@ARGV既然以@开头,标明这是一个list,你当做数组看就行了。含义是包含了程序从命令行得到的所有参数。比如运行a.pl 10 20 30 a b c则,$ARGV[0]是10$ARGV[3]是a
阅读全文
摘要:1. windows安装(在命令提示窗口输入以下自动下载)ppm install Config::Std
阅读全文
摘要:my @a=(1..10);$b=join "\t",@a[1..3,$#a-1];print "$b";结果:2349
阅读全文
摘要:以数字为名的变量保存的是上一次匹配操作(/pattern/)中,第n个小括号中的原符号所匹配内容。 $1就是第一对小括号中的原符号所对应的匹配内容。 $2就是第二对小括号中的原符号所对应的匹配内容。内插功能:$str = "aaa4zzz7bbb";$str =~ /(\d)z{3}(\d)/;print "$1\t$2\n"; 输出结果是:4 7
阅读全文
摘要:函数splice的用法格式splice(@array,offset,length,list) #在数组@array的offset的位置插入list,同时删除从 offset开始长度为length个元素。list上下文返回操作 后的数组,scalar上下文返回操作后的数组最后一个元 素。1、缺省list,即splice(@array,offset,length) #删除数组@array从offset开始长度为length个元素2、缺省list和length,即splice(@array,offset) #删除数组@array从offstage开始到最后3、缺省list、length和of...
阅读全文
摘要:加引号的结果会自动加上空格分割:my @rocks=(1..20);print "@rocks\n";结果:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
阅读全文

浙公网安备 33010602011771号