%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/

Reply via email to