首页 > 解决方案 > Arin Bulk whois 数据 perl 无法在 @INC 中找到 BulkWhois/Schema.pm

问题描述

我已经在两个操作系统上尝试过这个(首先在 Fedora 上,然后在 Ubuntu(推荐)上),但我仍然感到困惑,所以我正在联系社区。

我可以访问 ARIN 的批量 whois 数据并希望解析 xml 文件并将其放入数据库中。我在 github 存储库https://github.com/giovino/Arin-XML-Data-to-MySQL中遇到了一个 Perl 脚本。这是在 Ubuntu 上完成的,并存储在 mysql 数据库中。

我遵循了所有步骤,1.) 下载项目,2.) 解压缩,3.) 安装库,4.) 安装 perl 模块,5.) 安装 mysql,启动 mysql-server,并创建“BulkWhois”建议的数据库。

当我运行命令时:

ubuntu@ubuntu:~$ ./McKizzle-Arin-XML-Data-to-MySQL-dc77a54/src/bulkwhois2database.pl --file ~/arin_db.xml --dbms mysql --database BulkWhois --host localhost --port 3306

我收到此错误消息:

Can't locate BulkWhois/Schema.pm in @INC (you may need to install the BulkWhois::Schema module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at ./McKizzle-Arin-XML-Data-to-MySQL-dc77a54/src/bulkwhois2database.pl line 12.BEGIN failed--compilation aborted at ./McKizzle-Arin-XML-Data-to-MySQL-dc77a54/src/bulkwhois2database.pl line 12.

bulkwhois2database.pl 中的第 12 行:

use BulkWhois::Schema;

错误说Can't locate BulkWhois/Schema.pm in @INC。我知道在上面的目录bulkwhois2database.plSchema.pm

ubuntu@ubuntu:~/McKizzle-Arin-XML-Data-to-MySQL-dc77a54/src/BulkWhois$ ls
Schema  Schema.pm

我需要把它移到某个地方吗?也许还有另一个问题?

标签: linuxperl

解决方案


在 Patrick 的所有帮助下,我们解决了我遇到的问题。

添加 -I 添加当前目录并使 perl 找到丢失的 perl 模块。

需要安装缺少的 Switch 模块:

sudo cpan -f Switch

最终有效的命令:

cd ~/McKizzle-Arin-XML-Data-to-MySQL-dc77a54/src/ ; perl -I. bulkwhois2database.pl --file /tmp/arin_db.xml --dbms mysql --database BulkWhois --host localhost --port 3306 --user root 

推荐阅读