Here is that sub.
I can probably read perlre to figure out what ?: does, but a search of perlop for !! gives me nothing useful. Is that really two Boolean NOTs side-by-side? Can't be. So what is that operator? In any case, I'm guessing the real answer lies in the make method, and I'll pretend this sub makes sense even though I don't understand it now.
sub is_make_type {
my($self, $type) = @_;
return !! ($self->make =~ /\b$type(?:\.exe)?$/);
}
I found the make method defined over in ExtUtils::MM_Any, which is required by MM_Win32.pm on line 27.
sub make {
my $self = shift;
my $make = lc $self->{MAKE};
# Truncate anything like foomake6 to just foomake.
$make =~ s/^(\w+make).*/$1/;
# Turn gnumake into gmake.
$make =~ s/^gnu/g/;
return $make;
}
So self->{MAKE} is some kind of OOesque hash key lookup, right? Sorry, but I don't know Perl OO very well.
But where does that key get set? Since that is an access to private data in this class (I think), doesn't that particular MAKE hash key value have to get set within this package file? But I can't find it in MM_Any.pm. Well, I find plenty of "MAKE" strings being used to demarcate here-files, but that isn't helping my search.
Any ideas? |