Perl 脚本运行时提示:Can‘t locate Win32/OLE.pm in @INC

犄角旮旯里面掏出来一个.pl的perl代码,一副古早味。
搜了一下最新的perl运行安装:
https://www.activestate.com/products/perl/
居然已经不是安装包式,而是命令行式的安装了。
咔咔咔一阵操作一看

>perl -v

This is perl 5, version 36, subversion 0 (v5.36.0) built for MSWin32-x64-multi-thread

Copyright 1987-2022, Larry Wall

Binary build 36.0r1 provided by ActiveState http://www.ActiveState.com
Built Fri Sep 23 19:18:21 2022

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at https://www.perl.org/, the Perl Home Page.

不愧是我,一下就装好了(狗头)

拉出脚本各种花式跑

>perl word2xml.pl -h
Can't locate Win32/OLE.pm in @INC (you may need to install the Win32::OLE module) (@INC contains: c:/Users/abcdefg/AppData/Local/activestate/cache/d5f6d97c/site/lib c:/Users/abcdefg/AppData/Local/activestate/cache/d5f6d97c/lib) at word2xml.pl line 6.
BEGIN failed--compilation aborted at word2xml.pl line 6.

提示 “Can’t locate Win32/OLE.pm in @INC”

网上一搜,提示都是让增加PATH呀,改源文件的
咔咔咔又整了一通,却没啥卵用
正考虑拿出关机、重启、重装三步走大法,犹豫了一下
搜了一下电脑里的perl下的site\lib文件夹,再打开Win32一看,空空如也
全盘搜索OLE.pm,一无所获
再定睛一看提示 you may need to install the Win32::OLE module
好吧,应该是OLE模块没有默认下载,到bing上一搜
https://code.activestate.com/ppm/Win32-OLE/
原来还有一步安装OLE模块的过程
在CMD窗口键入 ppm install Win32-OLE
好吧。感觉是一个很傻逼的问题,不知道为何中文网站上搜不到这种傻乎乎的答案,做个记录吧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
无法定位到extutils/makemaker.pm@inc中(@inc包含。。。 这个错误通常出现在使用Perl模块Perl无法找到所需的"Makemaker"模块所在的路径。Makemaker模块是用于编译和安装Perl模块的工具。 要解决这个问题,可以尝试以下几种解决方法: 1. 检查模块是否已安装:首先,确保你已经正确安装了所需的模块。如果你还没有安装该模块,可以使用CPAN(Comprehensive Perl Archive Network)来安装它,或者使用适合操作系统的包管理器来安装。 2. 更新Perl版本:如果你的Perl版本较旧,可能会导致某些模块不可用。尝试通过更新Perl版本来解决这个问题。可以通过命令行执行"perl -v"来查看当前的Perl版本,然后根据操作系统的要求更新它。 3. 设置PERL5LIB环境变量:有Perl无法找到所需的模块路径是因为PERL5LIB环境变量没有设置正确。在命令行中执行以下命令来设置PERL5LIB环境变量: Unix/Linux系统:export PERL5LIB=/path/to/your/lib Windows系统:set PERL5LIB=C:\path\to\your\lib 请将"/path/to/your/lib"替换为实际的模块路径。 4. 检查@INC路径:@INC是一个Perl内置的数组,用于存储包含可执行文件的目录列表。在遇到这个错误,可以使用命令行执行以下命令来查看@INC路径: perl -E 'say foreach @INC' 确保包含了正确的模块路径。如果没有,可以通过以下方法在代码中添加路径: Unix/Linux系统:在脚本中添加如下语句:use lib '/path/to/your/lib'; Windows系统:在脚本中添加如下语句:use lib 'C:\path\to\your\lib'; 请将"/path/to/your/lib"替换为实际的模块路径。 通过以上解决方法,你应该能够解决无法定位到extutils/makemaker.pm的问题,并使Perl能够正确找到所需的模块。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值