• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >perl > perl 模块打包加入外部依赖程序

perl 模块打包加入外部依赖程序

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了perl模块安装,perl模块,如何安装perl模块,perl模块下载,windows安装perl模块等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Perl 社区并不是所有的东西都发布在 CPAN 上。甚至专门有一个 Module::ThirdParty 模块记录这些非 CPAN 的 perl 项目列表。其中最有名的应该就属写博客的 Movable Type 和做监控的 SmokePing 了。

但是如果个人图方便又想把 smokeping 打包方便部署使用的时候,就会发现一点小问题:打包成rpm,很多 perl 的依赖模块不一定在系统 repo 里存在;打包成 perl 的模块,smokeping 最常用的几个 probe 比如 fping、curl 什么的,又是非 perl 程序,cpanm 没法解决这个 requires_external_bin ,最多只能报错退出。

其实这里可以采取一些别的办法,虽然笨一些,但是解决问题。

首先还是让我们创建一个示例模块:

然后就会在本目录下创建一个 Alien-FPing 目录,自带好了 Build.PL 等模块文件。这里使用了 Alien:: 的名字空间,是一个潜规则,有些项目依赖 C 源码的库和头文件,就用 perl 包一层来安装,都放在这个空间下,比如 Alien::V8, Alien::Gearmand, Alien::IE7 等等。

现在让我们下载 fping 的源码放到模块里:

接下来应该就是编写 Build.PL 了。不过为了尽量让 Build.PL 看起来简洁而且一眼看出目的。我们最好把编译操作单独定义一个模块来使用:

然后稍微修改一下 Build.PL 如下:

把 Module::Build 替换成 Alien::FPing::Build 而已,其他都不用动。

然后试一下吧:

看到编译输出,并且成功安装有 /usr/sbin/fping 了吧。现在可以打包了。注意默认生成的 ignore.txt 里,是排除掉了 inc 目录的,需要去除掉,然后修改 MANIFEST 文件加入 inc 和 src 里的文件,然后再打包出来的 perl 模块就可以直接用了。
</div>

您可能想查找下面的文章:

  • Perl中的10个操作日期和时间的CPAN模块介绍
  • cpanm安装及Perl模块安装教程
  • perl 模块打包加入外部依赖程序
  • perl大文件读取处理的模块介绍
  • perl处理xml的模块介绍
  • Perl模块编写说明

相关文章

  • perl对长度不一文本的行列进行置换的实现代码
  • 详细说明什么是Perl
  • Perl中的10个操作日期和时间的CPAN模块介绍
  • perl 调试命令的相关知识小结
  • perl 列表和数组变量详解
  • Perl与JS的对比分析(数组、哈希)
  • perl Socket编程实例代码
  • perl简单变量 整型 浮点数 字符串
  • perl的POD权限问题处理
  • perl写的一个随机编故事的程序(rand随机函数)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Windows和Linux系统下perl连接SQL Server数据库的方法
    • perl的格式化(Format)报表输出实现代码
    • 用python下载百度文库的代码
    • perl 简明教程 perl教程集合
    • perl子程序的运用及子程序中变量私有(my)声明的重要性
    • Perl文件句柄详解
    • perl push的用法及子程序返回值的反思
    • 使用perl实现拆分数据表(mysql)并迁移数据实例
    • perl对m x n类似表进行按列排序的代码
    • Perl访问MSSQL并迁移到MySQL数据库脚本实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有