Perl was recently upgraded to perl-5.38.0. After the upgrade, libperl.so is not found by the dynamic linker. This breaks openldap, slapd won't load without libperl.so.
libperl.so is in /usr/lib/perl5/5.38/core_perl/CORE/libperl.so, and the dynamic linker is not looking for it there.
To fix it, I had to run ldconfig to force it to look in /usr/lib/perl5/5.38/core_perl/CORE when rebuilding the linker cache. After doing that, libperl.so is found by the dynamic linker. Obviously, that should not be necessary.
I assume that this is an upstream (archlinux) bug?