在perl中使用LibXML

时间:2011-05-14 23:01:44

标签: xml perl

我正在编写一个执行XML处理的脚本。 use如下:

use XML::LibXML;

但它没有编译:

Can't locate XML/LibXML.pm in @INC

有谁能告诉我需要安装哪个软件包(运行ubuntu)。 libxml2没有做到这一点,也没有任何libxml-*-perl包。

或者,如果可能的话,有没有更好的方法进行简单的XML处理?

5 个答案:

答案 0 :(得分:11)

在Debian上,它被命名为libxml-libxml-perl。 (一般来说,Perl发行版的Debian包被命名为"lib".lc($perl_dist_name)."-perl"。)我怀疑它在Ubuntu上是相同的,基于Debian。

libxml2是XML :: LibXML使用的底层C ++库,而不是XML :: LibXML本身。

答案 1 :(得分:3)

有一个名为apt-file的命令。

sudo apt-get install apt-file
apt-file update
apt-file search LibXML.pm

您需要的软件包是libxml-libxml-perl

答案 2 :(得分:2)

我认为在基于Debian的操作系统上安装“XML :: LibXML”的最简单方法是使用此命令:

aptitude install libxml-libxml-perl

对我来说,它是有效的,如果我得到这个错误你也可以通过尝试让脚本工作。

perl -MCPAN -e 'install XML::LibXML'

也应该有用。

答案 3 :(得分:0)

你是如何安装模块的? 尝试:perl -MCPAN -e 'XML::LibXML'

来自shell的

答案 4 :(得分:0)

您可以通过将模块名称转换为路径名(例如XML :: LibXML到XML / LibXML.pm)来识别给定perl模块所需的包,并对包含文件路径的包进行在线包搜索那,例如:

http://packages.debian.org/file:XML/LibXML.pm

http://packages.ubuntu.com/file:XML/LibXML.pm

在结果页面上,如果您使用的是当前默认值以外的其他内容,则可以切换到搜索其他版本。