我正在尝试使用Perl在Linux上复制我的C#/XPath代码。我将Example 8-6中的代码复制并粘贴到Perl & XML中。如果我理解正确,我应该能够运行Perl代码,将此代码放入终端
xmlPerl.pl mydatafile.xml "/inventory/category/item/name"但是,当我尝试运行Perl文件时,它不起作用。下面是错误:
[root@Perl ~]# perl xmlPerl.pl
Can't locate XML/XPath.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at xmlPerl.pl line 3.
BEGIN failed--compilation aborted at xmlPerl.pl line 3.我做错了什么?我认为这与代码开头的XML和XPath名称有关。我需要安装一些东西才能使用XPath框架吗?我在RedHat 5.5上运行。
发布于 2012-06-26 00:24:49
来自perldiag
找不到%s
你说要做(或要求,或使用)一个找不到的文件。除非文件名包含文件的完整路径,否则Perl将在@INC中提到的所有位置查找该文件。您可能需要设置PERL5LIB或PERL5OPT环境变量来说明额外的库在哪里,或者脚本可能需要将库名称添加到@INC中。也许你只是拼错了文件名。请参阅perlfunc和lib中的require。
您还没有安装XML::XPath模块,或者Perl没有找到它。使用CPAN安装模块:
> cpan XML::XPath或者使用包管理器:
> apt-get install libxml-xpath-perl或者,如果它已经安装,请使用PERL5LIB环境变量说明它的位置:
> PERL5LIB=/path/to/lib perl ...@INC变量:
BEGIN {
unshift(@INC, '/path/to/lib');
}或lib杂注:
use lib '/path/to/lib';发布于 2012-06-26 00:15:12
这是在尝试use未安装的模块时出现的标准错误。你应该安装它。
理想情况下,对它使用OS包;例如,在Debian派生的OS (如Debian或Ubuntu)上)
$ apt-get install libxml-xpath-perl如果做不到,您可以像往常一样使用CPAN安装它
$ cpan XML::XPath发布于 2012-06-26 00:14:26
答案就在你错误的第一部分:
Can't locate XML/XPath.pm在Perl中,最大的好处是使用别人为您编写的模块或库,您可以重用这些模块或库。在本例中,有人编写了一个名为XML::XPath的模块(在Perl中,路径由‘::’分隔),您只需安装它。安装它的最简单方法是通过cpan,这是一个随大多数Perl安装一起安装的工具。只需运行:
cpan
(you'll be dropped into a different command prompt)
install XML::XPath这将获取XML::XPath,解压缩它,生成Makefile,检查依赖项(并安装任何缺失的依赖项),创建它,测试它,然后为您安装它。有关使用CPAN的更多信息,请查看here。
https://stackoverflow.com/questions/11192967
复制相似问题