Modules (e.g. `PublicInbox::Gcf2') may have an undef value in
the %rmap_inc hash table if an attempt has been made to load it
and failed due to a missing libgit2-dev dependency. Avoid using
it in interpolation to avoid warnings.
if (my $short = $rmap_inc{$full}) {
return $short;
} elsif (!scalar(keys %rmap_inc) && -e $full) {
- %rmap_inc = map {; "$INC{$_}" => $_ } keys %INC;
+ # n.b. $INC{'PublicInbox::Gcf2'} is undef if libgit2-dev
+ # doesn't exist
+ my $f;
+ %rmap_inc = map {;
+ $f = $INC{$_};
+ defined $f ? ($f, $_) : ();
+ } keys %INC;
# fall back to basename as last resort
- $rmap_inc{$full} // (split('/', $full))[-1];
+ $rmap_inc{$full} // (split(m'/', $full))[-1];
} else {
$full;
}