1) perl 模块的创建

perl 模块的后缀名为.pm, 其中的内容和一般的perl脚本相同, perl模块中通常放置可重用的函数以及变量,

比如创建一个fasta.pm,里面包含一个统计fasta序列中gc碱基个数的方法:

 #/usr/bin/perl
package fasta;
use warnings;
use strict; sub run {
my $seq = shift;
return $seq =~ tr /GCgc/GCgc/; } ;

然后写一个脚本检测一下该模块是否起作用:

#!/usr/bin/perl
use fasta; my $seq = qq{ATCGCTACGACG}; my $gc = fasta::run($seq); print qq{$gc\n};

运行该脚本,输出结果为7, 可以看出结果确实是GC碱基的个数;

这个测试的脚本和fasta.pm 是放在同一个目录下的, 当脚本和模块放置在不同的目录时,

为了使用该模块, 就必须指定模块所在目录;

2) 指定perl模块目录

比如fasta.pm 所在目录为/home/xudl/perl

第一种方式: 设置环境变量PERL5LIB,

在~/.bashrc 中添加

export PERL5LIB=$PERL5LIB:/home/xudl/perl;

然后source ~/.bashrc 使这个新修改的环境变量生效即可;

第二种方式, 在脚本中使用use lib

use  lib "/home/xudl/perl";

然后就可以使用

use fasta;

perl 模块的创建以及制定perl 模块的路径的更多相关文章

  1. Perl IO:简介和常用IO模块

    三篇Perl IO基础类文章: Perl的IO操作(1):文件句柄 Perl的IO操作(2):更多文件句柄的模式 Perl文件句柄相关的常见变量 IO对象和IO::Module家族模块 无论是哪种高级 ...

  2. perl学习笔记之:模式匹配,模块,文档

    Perl语言的最大特点,也是Perl作为CGI首选语言的最大特点,是它的模式匹配操作符.Perl语言的强大的文本处理能力正是通过其内嵌的对模式匹配的支持体现的.模式通过创建正则表达式实现.Perl的正 ...

  3. Drupal8开发教程:模块开发——创建新页面

    之前我们已经通过<Drupal8开发教程:认识.info.yml文件>对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面. 在 Drupal 7 中,通过模块 ...

  4. 从头开始编写一个Orchard网上商店模块(6) - 创建购物车服务和控制器

    原文地址: http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-pa ...

  5. 从头开始编写一个Orchard网上商店模块(5) - 创建和渲染ProductCatalog的内容类型

    原文地址: http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-pa ...

  6. Maven入门,Maven项目的创建,nexus 2.x搭建私服以及Maven多模块项目创建

    maven的了解做一个总结,以便日后查阅, 若有不足之处,还望指出,学无止境 当然也能起到入门效果. 一,搭建maven私服 1.工具 a. Nexus 2.5.1-01 b. Maven 3.3.9 ...

  7. ABP入门系列(15)——创建微信公众号模块

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 现在的互联网已不在仅仅局限于网页应用,IOS.Android.平板.智能家居等平台正如 ...

  8. yii2 模块的创建及使用

    yii2 模型创建可以通过gii工具创建,方便快速yii2 可以在项目的根目录创建一个modules文件夹存放各个模块,当然,每个模块里还可以再创建模块 一.直接在项目根目录创建一个模块 看截图--& ...

  9. Spring Boot 多模块项目创建与配置 (一) (转)

    Spring Boot 多模块项目创建与配置 (一) 最近在负责的是一个比较复杂项目,模块很多,代码中的二级模块就有9个,部分二级模块下面还分了多个模块.代码中的多模块是用maven管理的,每个模块都 ...

随机推荐

  1. 循环遍历li并获取其自定义属性的方法

    var lists = $('.list'); for (var j = 0; j < lists.length; j++) { var index = $('.list').eq(j).att ...

  2. MySQL数据库权限管理

    # MySQL数据库权限管理 ### 前言------------------------------ 对不同的用户赋予不同级别的访问权限是个好习惯- 杜绝一些恶意用户 ### 参考资料------- ...

  3. WPF Image控件 Source: Byte[] ,BitmapImage 相互转换

    文件转为byte[] FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read); byte[] desBytes ...

  4. MAMP和WAMP搭建Web环境,数据库,数据分布可视化

    MAMP和WAMP搭建Web环境,数据库,数据分布可视化 1. 数据库 用MAMP和WAMP搭建Web环境,数据分布可视化 Web环境Web服务器:Apache.Nginx,处理Web请求数据库:My ...

  5. Android 后台发送邮件 (收集应用异常信息+Demo代码)

    上一次说了如何收集我们已经发布的应用程序的错误信息,方便我们调试完善程序.上次说的收集方法主要是把收集的信息通过Http的post请求把相关的异常信息变成请求参数发送到服务器.这个对做过web开发的人 ...

  6. 迭代器模式和组合模式(head first设计模式——8)

    把迭代器模式和组合模式放在同一篇的原因是其联系比较紧密. 一.迭代器模式 1.1迭代器模式定义 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而不是暴露其内部的表示. 这个模式提供了一种方法 ...

  7. for语句查看js对象

    for (var obj in o.curform) { document.write("<p>" + obj + " = " + o.curfor ...

  8. 宇宙最强spacemacs

    这个标题背后的潜台词其实是:逼格是什么炼成的? 此处省略一万字. Emacs就不多说了,神之编辑器,但其快捷键实在是....Evil.好啦,现在来了Spacemacs,结合Vim与Emacs二者的优点 ...

  9. CentOS服务器简单判断CC攻击的命令

    使用下面的命令,可以分析下是否在被CC攻击.   第一条命令: tcpdump -s0 -A -n -i any | grep -o -E '(GET|POST|HEAD) .*' 正常的输出结果类似 ...

  10. 【jquery】jquery 在 ie6 下无法设置 select 选中的解决方法

    本文主要解决在 ie6 下,jquery 无法设置 select 选中的问题.我们先看个例子: <!DOCTYPE HTML> <html lang="en-US" ...