我之前的问题解决了我的问题,但让我缺乏理解.
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');
Run Code Online (Sandbox Code Playgroud)
这个测试没有通过,这意味着no ...没有做我认为它做的事情,包括不重要的符号.我已经读过了perldoc no,但它似乎确实相当令人失望.鉴于此代码的结果,我会说它并不完全符合它所宣传的内容.
怎么no办?何时以及为什么要使用它?
pil*_*row 15
no调用一个包unimport(),而use调用import(),都默默地跳过没有找到所需子的情况.
但是,很少有软件包 - 实际上只有pragma模块支持unimport().
| 归档时间: |
|
| 查看次数: |
465 次 |
| 最近记录: |