Wei*_*yan 6 perl rose-db-object
我在CPAN上遵循Rose :: DB :: Object教程并设置了三个包.
package My::DB::Object;
use My::DB;
use base qw(Rose::DB::Object);
sub init_db { My::DB->new }
package My::DB;
use base qw(Rose::DB);
...
package Motorcycle;
use base 'My::DB::Object';
__PACKAGE__->meta->setup
(
...
);
__PACKAGE__->meta->make_manager_class('motorcycles');
Run Code Online (Sandbox Code Playgroud)
在申请中:
package main;
use Motorcycle;
use Mojolicious::Lite;
Run Code Online (Sandbox Code Playgroud)
无法使用此错误进行编译:
My/DB/Object did not return a true value <eval 2> line 2…
Run Code Online (Sandbox Code Playgroud)
问候和感谢.
Joe*_*ger 23
虽然我不能说我完全理解你想要完成的是什么,但你看到的错误是一个相当普遍的错误.任何包含在a use
或require
必须返回"true"值的文件/模块.这通常是通过用行结束该文件来完成的,1;
也就是说只是一个为真的命令(而不是0为假).查看系统上以.pm结尾的任何其他文件,它很可能以这种方式结束.
您还可以阅读更多信息perldoc perlmod
,或者有以下声明perldoc -f require
:
该文件必须返回true作为表示成功执行任何初始化代码的最后一个语句,因此通常以"1"结束这样的文件.除非你确定否则它会恢复正常.但是,如果添加更多语句,最好只设置"1;".