Mój previous question rozwiązał mój problem, ale pozostawił mnie z brakiem zrozumienia.Co właściwie oznacza słowo kluczowe "nie" w Perlu?
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');
Ten test nie przechodzi, co oznacza no ...
nie robić to, co myślę, że robi, co obejmuje unimporting symbole. Przeczytałem perldoc no
, ale to naprawdę wydaje się raczej nieoświetlające. Biorąc pod uwagę wyniki tego kodu, powiedziałbym, że nie robi dokładnie tego, co reklamuje.
Co robi no
? Kiedy i dlaczego powinienem go używać?
Można argumentować, że 'Exporter' nie definiujący' unimport', aby przejść do 'importu' jest błędem. – geekosaur
@geekosaur, zgadzam się. (Można się z tym nie zgodzić :)) – pilcrow