-1

我正在使用 Perl 尝试为Message::StackCPAN 中的模块实现一个示例。

我得到错误

无法通过 stack.pl 第 3 行的包“Message::Stack”找到对象方法“new”。

my $stack = Message::Stack->new;

$stack->add(Message::Stack::Message->new(
  msgid     => 'something_happened',
  level     => 'error',
  scope     => 'login_formm',
  subject   => 'username',
  text      => 'Something happened!'
));

# Or... for those that want to type less
$stack->add({
  msgid     => 'something_else_happened',
  level     => 'error',
  scope     => 'login_form',
  subject   => 'password',
  text      => 'Something else happened!'
});

# ...
my $errors = $stack->for_level('error');
# Or
my $login_form_errors = $stack->for_scope('login_form');
$login_form_errors->for_subject('username');
print "Username has ".$login_form_errors->count." errors.\n";

请让我知道我需要加载哪个对象。

4

1 回答 1

2

我确信消息实际上说的是

无法在 stack.pl 第 5 行通过包“Message::Stack”找到对象方法“new”(也许您忘记加载“Message::Stack”?)。

那么,你忘记了吗?

后来,当您实际尝试使用

use Message::Stack

它告诉你

Can't locate Message/Stack.pm in @INC

您是否没有想到因为它不存在而找不到它,并且需要安装?

于 2013-05-08T09:58:34.397 回答