29 December 2004
This post may be outdated due to it was written on 2004. The links may be broken. The code may be not working anymore. Leave comments if needed.

描述

闲着无聊就看看了perlnewmod, 发现一种与“Module::Build”不一样的打包方式。
试了下,个人发现比Module::Build好一点。Module::Build打包出来的模块安装时必须要先安装Module::Build,而且h2xs还生成了简单的t(test)文件。而且我发现目前CPAN上的模块大多是用h2xs制作的。

h2xs 参数简介

    OPTION/选项:(不完整版,详细的请参考perldoc h2xs或h2xs -h)
  • -A, --omit-autoload 忽略autoload里的文件(-c里默认包含)
  • -B, --beta-version 使用alpha/beta型的版本号(如0.00_01),如果存在-v则忽略次参数
  • -C, --omit-changes 不创建CHANGES文件,而在POD模版中增加HISTORY段
  • -O, --overwrite-ok 允许覆盖已存在的扩展目录
  • -X, --omit-XS 忽略XS部分(-c和-f里默认包含)
  • -b, --compat-version 指定一个perl版本号用于向后兼容
  • -d, --debugging 显示调试信息
  • -n, --name 指定扩展的名字

过程

假设打包的是我的模块,Lingua::Han2PinYin
首先进入控制台(console)
>h2xs -AX -n Lingua::Han2PinYin
此命令的作用仅仅限于生成tar所需要的目录和一些文件。
lib/Lingua/Han2PinYin.pm
t/Lingua-Han2PinYin.t
Makefile.PL
README
Changes
MANIFEST
上面所生成的所有文件都是需要修改的。
  1. 将自己写的Han2PinYin.pm覆盖生成的Han2PinYin
  2. Makefile.PL里首先需要去掉"use 5.008004;"或者改为你所需要的版本号。其次要修改AUTHOR
  3. t下面的测试文件,如果需要增加新的测试则自行增加,不需要的话略过。
  4. README Changes 文件请自行修改
  5. MANIFEST则不需要修改
弄完后:
>cd Lingua-Han2PinYin
>perl Makefile.PL
>(n)make test
>(n)make dist
在Linux/Unix系统下用make,Win32系统下用nmake
至此差不多结束。会生成Lingua-Han2PinYin-0.04.tar.gz

Refer



blog comments powered by Disqus