当我需要Perl模块时,我通常使用CPAN.它工作正常.但不是这次.
我想使用MARC :: Charset,但这个使用GDBM_File,我似乎无法从CPAN安装GDBM_File.
CPAN发现它没问题,但是尝试安装它,它开始安装完整的Perl 5.10.1发行版.
MARC :: Charset是一个相当古老的模块,所以应该有一种方法可以从一些常见的Perl版本中使用它(Mac OS X 10.6.2默认有5.10.0和5.8.9).
虽然安装完整的Perl 5.10.1不是一个选项,但修改MARC :: Charset以停止使用GDBM_File可能是一个选项.这样做的最佳方法是什么?
最后一个选项也可能是唯一的选项.谷歌搜索GDBM_File揭示了一些暗示gdbm甚至无法在Mac上使用的项目.这些物品通常都是我的头脑.
虽然我没想到会有一颗银弹,但有人可能会在我应该从哪里开始指示.
毕竟,MARC :: Charset只对marc8字符集进行字符音译,不幸的是,iconv似乎不支持.
解决方法
GDBM_File
是
core Perl module.这就是为什么它在安装此模块时尝试将Perl升级到最新版本的原因.
似乎Mac OS X没有附带GDBM,因此没有使用任何提供的开发语言构建和包含必要的模块.这似乎是for quite some time的情况.
所以你的第一个障碍是安装/编译GDBM. MacPorts确实提供了package.
GDBM_File是一个XS模块,因此您必须编译它.可以在here找到Perl 5.10.0 GDBM_File代码.
BTW:MARC::Charset
仅在版本1.1(最新版本)切换到GDBM_File.以前的版本1.0使用了SDBM_File
,它与Mac OS X上的Perl一起提供(虽然没有亲自测试它的工作原理).
所以你可能会发现下载previous version of MARC::Charset是一个更好的选择.