【发布时间】:2012-04-26 06:21:56
【问题描述】:
我的previous question 解决了我的问题,但让我缺乏理解。
use 5.014;
use warnings;
use Test::More;
# still has carp after no Carp
package Test0 {
use Carp qw( carp );
sub new {
my $class = shift;
my $self = {};
carp 'good';
bless $self, $class;
return $self;
}
no Carp;
}
my $t0 = Test0->new;
ok( ! $t0->can('carp'), 'cannot carp');
这个测试没有通过,这意味着no ... 没有做我认为的事情,包括取消导入符号。我读过perldoc no,但它似乎真的很无脑。鉴于这段代码的结果,我想说它并没有完全按照它宣传的那样做。
no 是做什么的?我应该什么时候以及为什么要使用它?
【问题讨论】: