从CPAN安装perl模块时出错

从CPAN安装perl模块时出错,perl,Perl,我尝试从CPAN安装DBD-SQLite-0.31模块。我已经从CPAN下载了DBD-SQLite-0.31。我试着安装它,但它给了我一个错误:prerequisiteDBI模块不在那里 我从CPAN安装了DBI模块,然后安装了DBD-SQLite-0.31 当我尝试运行perl语句 使用DBI-DBD::SQLite,它给出了一个错误 "DBD::SQLite" is not exported by the DBI module Can't continue after import erro

我尝试从CPAN安装
DBD-SQLite-0.31
模块。我已经从
CPAN
下载了
DBD-SQLite-0.31
。我试着安装它,但它给了我一个错误:prerequisite
DBI
模块不在那里

我从CPAN安装了DBI模块,然后安装了
DBD-SQLite-0.31

当我尝试运行perl语句

使用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.
为什么会发生错误


当我试着调试它时,我发现要运行语句
usedbidbd::SQLite,DBD::SQLite需要位于DBI目录中,但两者都位于单独的目录中。我甚至在DBI文件夹中复制了DBD::SQLite,但问题仍然是一样的。(这些都是我的猜测)

语句
使用DBI
就是你想要的


模块名称之后的任何内容都将作为参数传递给导入模块的
import
方法。

语句
使用DBI


模块名称之后的任何内容都作为参数传递给导入模块的
import
方法。

发生的事情是,您不应该在一个
use
语句中提到多个模块。使用行上的额外信息可以包括模块的最低版本号或模块应导出的项目列表<代码>perldoc-f使用
查看血淋淋的详细信息


通常,您不希望显式地
使用DBD::SQLite。通常,它将通过隐式提及的方式加载到
DBI->connect()

的第一个参数中。发生的情况是,您不应该在一个
use
语句中提及多个模块。使用行上的额外信息可以包括模块的最低版本号或模块应导出的项目列表<代码>perldoc-f使用
查看血淋淋的详细信息


通常,您不希望显式地
使用DBD::SQLite。它通常会在
DBI->connect()

的第一个参数中通过隐式提及来加载,我不知道您是从哪里想到这样加载它的,但一般来说,如果您不确定如何使用模块,您需要查看它在CPAN上的文档


在这种情况下,它非常简单:

我不知道您是从哪里想到这样加载它的,但是一般来说,如果您不确定如何使用模块,您需要查看它在CPAN上的文档


在本例中,它非常简单:

,因为“DBD::SQLite”不是导入方法的有效参数。在大多数情况下,您提供了一个应在当前命名空间中导入的子对象列表。因为“DBD::SQLite”不是导入方法的有效参数。在大多数情况下,您提供了一个应该在当前名称空间中导入的sub的列表。对于DBI和DBD::SQLite,您需要两个独立的
use
语句。不能一次导入,这是不正确的语法。@DA14,DBD::SQLite根本不需要
use
语句。当您连接到SQLite数据库时,它会由DBI自动加载。对于DBI和DBD::SQLite,您需要两个独立的
use
语句。不能一次导入,这是不正确的语法。@DA14,DBD::SQLite根本不需要
use
语句。当您连接到SQLite数据库时,DBI会自动加载它。请不要在方法或函数调用后使用不必要的参数。最好的Perl风格是,尽可能不使用它们,只在Perl解析器无法识别您试图执行的操作时使用它们。请不要在方法或函数调用后使用不必要的参数。最好的Perl风格是尽可能不使用它们,只在Perl解析器无法识别您要做的事情时使用它们。