您可以使用 Perl 的词法警告类别。有一个deprecated
类别,或者您可以将包/模块注册为警告类别。
{
package My::Foo;
use warnings;
sub method {
(@_ <= 2) or warnings::warnif('deprecated', 'invoking ->method with ... ')
}
}
{
package My::Bar;
use warnings;
use warnings::register;
sub method {
(@_ <= 2) or warnings::warnif('invoking ->method with ... ')
}
}
{
use warnings;
My::Foo->method(1);
My::Foo->method(1, 2);
My::Bar->method(1, 2);
}
{
no warnings 'deprecated';
My::Foo->method(1, 2);
no warnings 'My::Bar';
My::Bar->method(1, 2);
}
查看警告和perllexwarn