我尝试从CPAN安装DBD-SQLite-0.31
模块。我已从DBD-SQLite-0.31
下载了CPAN
。我尝试安装它,它给了我一个错误的先决条件DBI
模块不存在。
我从CPAN安装了DBI模块,然后安装了DBD-SQLite-0.31
。
当我尝试运行perl语句
use DBI DBD::SQLite;
时,它出错了
"DBD::SQLite" is not exported by the DBI module
Can't continue after import errors at DBI.txt line 3
BEGIN failed--compilation aborted at DBI.txt line 3.
为什么错误发生了?
当我尝试调试它时,我发现要运行语句use DBI DBD::SQLite;
,DBD :: SQLite需要位于DBI目录中,但两者都在不同的目录中。我甚至在DBI文件夹中复制了DBD :: SQLite,但问题仍然存在。 (这些都是我疯狂的猜测)
答案 0 :(得分:4)
声明use DBI
就是你想要的。
模块名称之后的任何内容都作为参数传递给导入模块的import
方法。
答案 1 :(得分:4)
我不知道你有什么想法尝试加载它,但一般来说如果你不确定如何使用模块你需要来查看它在CPAN上的文档
在这种情况下,它非常简单:https://metacpan.org/pod/DBD::SQLite#SYNOPSIS
答案 2 :(得分:3)
发生的事情是你不应该在一个use
语句中提到多个模块。使用行的额外信息可以包括模块的最小版本号或模块应导出的项目列表。 perldoc -f use
了解血腥细节...
一般情况下,您不希望明确use DBD::SQLite;
。它通常会在DBI->connect()
的第一个参数中通过隐式提及加载。