第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 %datawhile(<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语言
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)