题目来源:http://rosalind.info/problems/hamm/

一、程序目的:计算序列点突变(Point Mutations)

输入:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT

输出:

7

二、程序设计

读取序列后利用split分割字串,然后注意比较,注意perl字符比较用“ne”(不等于)。

#!/usr/bin/perl/
use strict;
my (@seq, @seq1, @seq2, $distance);
@seq = <>;
# @seq1 = split //, chomp($seq[0]); # 这样会出错,chomp有返回值0 1
# @seq2 = split //, chomp($seq[1]);
@seq1 = split //, $seq[0];
@seq2 = split //, $seq[1]; for(my $i = 0; $i <= $#seq1; $i++){
if($seq1[$i] ne $seq2[$i]){
$distance++;
}
}
print $distance."\n";

三、补充

perl比较

  数字 字符
大于 > lt
小于 < gt
等于 == eq
不等于 != ne
大于或等于 >= ge
小于或等于 <= le

其他的代码:

#!/usr/bin/perl
#
my @str = <STDIN>; my $c = 0;
for ($i = 0; $i < length($str[0]); $i++){
$c++ if (substr ($str[0], $i, 1)) ne (substr ($str[1], $i, 1));
} print "$c\n";

最新文章

  1. hadoop 2.7.3本地环境运行官方wordcount
  2. Android app应用多语言切换功能实现
  3. wordpress修改上传文件大小限制
  4. Python学习 - 简单抓取页面
  5. 2015第15周日PostgreSQL学习
  6. Django学习(六) 模板
  7. WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化
  8. String StringBuffer StringBuilder 之间的区别
  9. tesseract-ocr字库训练图文讲解
  10. Windows下搭建Redis服务器
  11. ehcache模糊批量移除缓存
  12. MongoDB副本集功能及节点属性梳理
  13. mvc中让路由忽略带后缀的路径文件
  14. Oracle简单查询实例
  15. puppet(5)-master/agent模式
  16. Python之对象的永久保存模块---pickle
  17. Objective-C:三种文件导入的方式比较
  18. Jquery的深度拷贝和深度克隆
  19. AJAX的例子
  20. 【Leetcode】【Medium】Sum Root to Leaf Numbers (未完成)

热门文章

  1. Beta发布声明
  2. [技术博客] Django中文件的保存与访问
  3. 『学了就忘』Linux基础 — 7、补充:安装Linxu系统时设置硬盘挂载说明
  4. Linux Shell Here Document
  5. 集合栈 牛客网 程序员面试金典 C++ Python
  6. 重学STM32---(九)之CAN通信(一)
  7. c#复制数组的多种方法
  8. 安装RedHat和Centos后做的15件事情
  9. javac 不是内部或外部命令 和 错误 找不到或无法加载主类 的解决方法
  10. [啃书] 第3篇 - 结构体及其操作/浮点数&amp;圆周率/复杂度/测试