Perl Message :: Stack示例

时间:2013-05-08 09:40:20

标签: perl data-structures perl-module

我正在使用Perl尝试从CPAN实现Message::Stack模块的示例。

我收到错误

  

无法通过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";

请告诉我需要加载的对象。

1 个答案:

答案 0 :(得分:2)

我确信实际上所说的消息是

  

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

所以,你忘记了吗?

之后,当您实际尝试使用

加载它时
use Message::Stack

它会告诉你

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

你不会发现它没有找到,因为它不存在,需要安装吗?