There's often a good case for building those modules against static libraries - as there's then no additional files to distribute.
Another problem with shared libraries is that there's a possibility that the shared library being distributed is not the shared library that gets loaded by the perl module - which is something that needs to be considered when troubleshooting. (Obviously, this aspect is also avoided if the module is built against a static library.)