%INC can hold undef. This can be hit on a Linux machine missing
Linux::Inotify2. Loading PublicInbox::KQNotify is attempted and
PublicInbox/KQNotify.pm always exists, causing the `undef' entry
in %INC when it fails to load IO::KQueue.
$ perl -MData::Dumper -I lib \
-E 'eval { require PublicInbox::KQNotify }; say Dumper(\%INC)'
---
lib/PublicInbox/LeiSucks.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/PublicInbox/LeiSucks.pm b/lib/PublicInbox/LeiSucks.pm
index a71158f3..3e945d0b 100644
--- a/lib/PublicInbox/LeiSucks.pm
+++ b/lib/PublicInbox/LeiSucks.pm
@@ -55,7 +55,7 @@ sub lei_sucks {
my $dig = Digest::SHA->new(1);
push @out, "public-inbox blob OIDs of loaded features:\n";
for my $m (grep(m{^PublicInbox/}, sort keys %INC)) {
- my $f = $INC{$m};
+ my $f = $INC{$m} // next; # lazy require failed (missing dep)
$dig->add('blob '.(-s $f)."\0");
$dig->addfile($f);
push @out, ' '.$dig->hexdigest.' '.$m."\n";
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/