gpt4 book ai didi

mysql - Perl 使用模块,不断出现未定义的子程序和主要错误

转载 作者:行者123 更新时间:2023-11-29 01:29:45 24 4
gpt4 key购买 nike

我有一个 perl 模块 DB.pm,里面是这样的:

package GUI::DB;
use strict;
use DBI;
use vars qw(@ISA @EXPORT);
use Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(fun);
sub fun {
my $dsn = "DBI:mysql:database=test";
return $dsn;
}

然后我写了test.pl:

#!/usr/bin/perl
use strict;
use warnings;
use lib '~/Downloads/GUI'; #Here is the path of the DB.pm module.
use DB;
my $aa = fun();

我已经尝试修复它好几个小时了,我尝试使用注释 perl -l/path/to/file aa.pl 它没有给我任何错误,但脚本没有运行总而言之,我是 Perl 的新手,真的卡住了。请帮助我。

编辑:所以现在模块的名称是 DB.pm,文件夹的名称是 GUI,我在我的脚本中使用 use DB,仍然不起作用,我应该在哪里保存 DB。下午文件?

最佳答案

use HA; 做几件事。首先,它在 perl 库路径 (@INC) 中找到文件 HA.pm。其次,它调用 HA::->import() 以允许 HA 模块执行它想要的任何初始化/导出;这依赖于与其文件名匹配的模块包。如果不存在,则会悄悄跳过此初始化(对 import 方法的方法调用不会生成错误,即使该方法不存在也是如此)。

因此显式地调用你想要的包的导入,或者使包名与文件名匹配。

关于mysql - Perl 使用模块,不断出现未定义的子程序和主要错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19717520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com