perl语言编程?

perl语言编程?,第1张

第2题

chomp($str=<STDIN>)

my @array=split/[ ,]/,$str

my $mx = $array[0]

for my $e(@array) {$mx = $e if ($e >$mx)}

print "最大值为$mx"

第3题

chomp($str=<STDIN>)

my @array=split/[ ,]/,$str

my @sorted_num=sort{$a<=>$b}@array

my $string=join(",",@sorted_num)

print "排序后的数列为:$string"

第4题

chomp($str=<STDIN>)

my @array=split//,$str

my %ha

my @uniq=grep{++$ha{$_}<2}@array

my $size=@array

my $nmy $foundnomy $regexmy $freq

print "氨基酸\t频数\t频率\n"

for($n=0$n<@uniq$n++){

$regex=@uniq[$n]

$foundno=0

$foundno++ while($str=~m/$regex/g)

$freq=$foundno*100/$size

print "$regex\t$foundno\t$freq%\n"

}

my %data

while(<DATA>)

{

chomp#去掉回车

@m=split#以空格分隔

if(exists $data{$m[0]})#如果已经炊ㄒ?

{

for(1..$#m){

if($data{$m[0]}->[$_-1] ne $m[$_]){#已定义判断后续变量是否存在不存在则添加

$data{$m[0]}->[$_-1] .= "/$m[$_]"

}

}

}

else#未定义直接添加

{

$data{$m[0]}=[@m[1..$#m]]

}

}

for(keys %data)

{

print "$_ @{$data{$_}}\n"

}

__DATA__

a b1 2 3

a b 2 2 5

open(FILE1,"E:/test1.txt")

open(FILE2,"E:/test2.txt")

open(FILE3,"+>","E:/test3.txt")

@array=<FILE1>如果test2里面只是一行一个号码的话这样是可以的

for $i(0..$#array)#如果不是的话要进行信息的提取

{

$m=chomp($array[$_])

@v=split(" ",$m)

$hash{$v[??]}=$i

}

while(<FILE2>)

{@v=split

($name,$address,$number,$another)=@v

if(exists $hash{$name})#可能你是这个意思吧将两个记录信息都添加到文件中

{

print FILE3 "@v \n$array[$hash[$name]]\n"

}

}

Perl语言是由Larry Wall设计的文字分析报告语言,用于Unix环境下的编程.

发展前景:目前还在用Perl语言开发大型网站的只有日美英,其中日本工作机会最多,可考虑移民。

国内现在一般用PHO ,JAVA。perl作为一种高级语言,特别适合快速开发,尤其是快速原型开发,工具开发等。perl也许很多项目里面不会用到,但是如果你会用perl,那么你就比别人多了一把瑞士军刀,可以做一些意想不到的事情。

Perl强项在于文本处理,或者作为各种程序之间的“胶水,它有着自动识别变量的特征,可以写动态网页,而且拥有大量的共享插件可以用。Perl是一个完整的编程语言,其他编程语言能做的事情他都能做(复杂程度可能有所不同)。

在文本处理方面,生物信息学中用的很多很多。

扩展资料:

Perl编程小技巧

1、Perl超时机制

eval

{

my $tmpCmd="ping 192.168.0.1"

local $SIG{ALRM} = sub { alarm 0die "TIMEOUT"}

alarm(10)

my $startCmdResult = qx($tmpCmd)

alarm(0)

}

if ($@ =~ /TIMEOUT/)

{

print "ping timeout"

}

2、忽略SIGCHLD信号,避免产生僵尸进程

$SIG{CHLD} = 'IGNORE'

3、等待

sub show_flower

{

local $| = 1

my @progress_symbol = ('-','\\','|','/')

my $n = 0

my $count=8

while($count--)

{

#print "\r$progress_symbol[$n]"

$n = ($n>=3)? 0:$n+1

select(undef, undef, undef, 0.1)

}

#print "\r"

local $| = 0

}

4、 Perl多行注释

单行注释:用#号

多行注释:

最常用的方法是使用 POD(Plain Old Documentations) 来进行多行注释。方法如下:

=pod

codes to comment

=cut

5、类似于unix shell中的“此处文档”语法

#!/usr/bin/perl -w

$P = 3.1415926

print <<EOF

  the price is $P.

   Hello World.

EOF

6. Perl常量的用法

use constant PI =>( 4* atan2(1,1) )

PI=6# Cannot modify PIproduces an error.

use constant DEBUG =>  1

print "Pi equals ", PI, "...\n" if DEBUG

参考资料来源:百度百科-Perl语言


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12063362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存