perl 模块的创建以及制定perl 模块的路径
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 模块的路径的更多相关文章
- Perl IO:简介和常用IO模块
三篇Perl IO基础类文章: Perl的IO操作(1):文件句柄 Perl的IO操作(2):更多文件句柄的模式 Perl文件句柄相关的常见变量 IO对象和IO::Module家族模块 无论是哪种高级 ...
- perl学习笔记之:模式匹配,模块,文档
Perl语言的最大特点,也是Perl作为CGI首选语言的最大特点,是它的模式匹配操作符.Perl语言的强大的文本处理能力正是通过其内嵌的对模式匹配的支持体现的.模式通过创建正则表达式实现.Perl的正 ...
- Drupal8开发教程:模块开发——创建新页面
之前我们已经通过<Drupal8开发教程:认识.info.yml文件>对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面. 在 Drupal 7 中,通过模块 ...
- 从头开始编写一个Orchard网上商店模块(6) - 创建购物车服务和控制器
原文地址: http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-pa ...
- 从头开始编写一个Orchard网上商店模块(5) - 创建和渲染ProductCatalog的内容类型
原文地址: http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-pa ...
- Maven入门,Maven项目的创建,nexus 2.x搭建私服以及Maven多模块项目创建
maven的了解做一个总结,以便日后查阅, 若有不足之处,还望指出,学无止境 当然也能起到入门效果. 一,搭建maven私服 1.工具 a. Nexus 2.5.1-01 b. Maven 3.3.9 ...
- ABP入门系列(15)——创建微信公众号模块
ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 现在的互联网已不在仅仅局限于网页应用,IOS.Android.平板.智能家居等平台正如 ...
- yii2 模块的创建及使用
yii2 模型创建可以通过gii工具创建,方便快速yii2 可以在项目的根目录创建一个modules文件夹存放各个模块,当然,每个模块里还可以再创建模块 一.直接在项目根目录创建一个模块 看截图--& ...
- Spring Boot 多模块项目创建与配置 (一) (转)
Spring Boot 多模块项目创建与配置 (一) 最近在负责的是一个比较复杂项目,模块很多,代码中的二级模块就有9个,部分二级模块下面还分了多个模块.代码中的多模块是用maven管理的,每个模块都 ...
随机推荐
- 【ARM】2410裸机系列-流水灯
开发环境 1.硬件平台:FS2410(s3c2410) 2.主机:Ubuntu 12.04 LTS LED原理图 LED的GPIO的配置 配置GPFCON寄存器,设置GPF4-7为输出 配置GPF ...
- 【Socket】linux套接字技术之tcp
1.mystery引入 1)UDP也可以编写出C/S程序 ,另外TCP也可以编写点对点通信. 2)网络的本质就是资源共享,当前流行的P2P应用正好暗合了这种精神. 3)当前流 ...
- WebAPI Action的几种返回值类型
void 返回204状态码 HttpResponseMessage Convert directly to an HTTP response message. IHttpActionResult Ca ...
- 通过USB连接越狱iPhone,SSH进入设备
通过USB连接越狱iPhone,SSH进入设备html, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .Co ...
- 微信web开发者工具同时打开两个小程序项目
在写小程序时,想要一边参考别人的Demo一边做,但是微信web开发者工具无法同时开两个实例,怎么办? 单个软件实例来回切换打开的项目太麻烦,一种办法是同时下载[微信web开发者工具]和[微信web开发 ...
- 【Unity笔记】提示框ToolTips大小自适应,及其闪烁的问题
需求:制作了一个提示框,当鼠标移入背包格子内,显示提示框,且提示框位置跟随鼠标移动.当鼠标移出背包格子,隐藏提示框. 制作提示框ToolTips 因为提示框的大小要求随着显示的文本内容长度而自动大小适 ...
- sublime sftp注册码
注册码: { "email": "xiaosong@xiaosong.me", "product_key": "d419f6-de ...
- UI设计,使用 线框图(页面示意图或页面布局图)
在进行页面框架设计的时候,尝试画个 线框图(页面示意图或页面布局图)吧.
- NetBeans Lookups Explained!
https://dzone.com/articles/netbeans-lookups-explained —————————————————————————————————————————————— ...
- linux 常见错误
yum.pid 已被锁定 rm -rf /var/run/yum.pid