在本地使用XML :: Twig,而无需在Perl中安装

问题描述 投票:0回答:2

我在Perl中编写了一个相对较大的脚本。现在,它的一部分应该能够处理XML数据。据我所知,XML :: Twig将是此类操作的适当模块。由于完成的程序无法在我的计算机上运行,​​并且无法在目标系统上安装其他程序包,因此,我决定在本地使用XML :: Twig。因此,我已经将其复制到脚本的子文件夹中,并加载了use lib "$FindBin::Bin/foreign/";Twig.pm在路径foreign/XML/Twig.pm下找到)和use XML::Twig;

在我的Windows 7计算机上,它运行良好。现在,我已经在Linux环境(Ubuntu)上进行了尝试,稍后会出现以下错误:

找不到模块XML :: Parser :: Expat @INC中的可加载对象

我真的不想编写自己的库,也无法在该系统上安装额外的软件包(但在这种情况下应该可以使用)。每个建议将不胜感激。

xml perl porting
2个回答
1
投票
它可能在您的PC上运行的原因之一是,您在该PC上安装了XML :: Parser :: Expat,但不在Linux机器上。在您的“外国”文件夹中包含此(以及所有其他从属模块),然后可以为脚本+模块创建“便携式”版本。

要回答操作员对本文的后续评论,XML :: Parser :: Expat不是XML :: Parser的一部分,它是独立的。从我的XML :: Parser:

副本的开头请参阅本节。

BEGIN { require XML::Parser::Expat; $VERSION = '2.41'; die "Parser.pm and Expat.pm versions don't match" unless $VERSION eq $XML::Parser::Expat::VERSION; }


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.