当我运行这个命令时,为什么我得不到Attempting to inherit from yourself generates a warning. (base#DIAGNOSTICS)?
#!/usr/bin/env perl
use warnings;
use diagnostics;
use 5.012;
{
package MyWebServer;
use HTTP::Server::Simple::CGI;
use base qw(HTTP::Server::Simple::CGI);
...发布于 2011-04-21 23:53:40
我怀疑这是一个文档错误。
测试文件t/base.t显示了这种类型的场景,以获得警告:
use warnings;
use diagnostics;
use 5.012;
package Foo;
use base 'Foo';
__END__
Class 'Foo' tried to inherit from itself您可以修补POD并将其作为Bug Report提交。
由于base是一个核心杂注,您可以改为提交一个perlbug (不确定哪个是首选的)。
发布于 2011-04-21 23:49:49
呃,因为你不想继承你自己的东西?
这是这样的:
#!/usr/bin/env perl
use warnings;
use diagnostics;
use 5.012;
{
package HTTP::Server::Simple::CGI;
use base qw(HTTP::Server::Simple::CGI);
...base应该逐步淘汰,取而代之的是更新的、不那么花哨的parent。
https://stackoverflow.com/questions/5746419
复制相似问题