> sadly CPAN has no way of specifying such dependencies
What you can do is reflect the C library with a Perl distribution (e.g. Alien-wxWidgets). During installation, the distro checks if the necessary C library is installed. If not, the distro either fails to install itself or it installs the C library.
Thanks. I will remember that when I write a perl module that depends on a C library. However that is not really the issue.
XML::LibXML does implement such checks in as much as the install fails if the library. The problem is that CPAN does not (and could not be expected to) be able to reason: "Ah! libxml is missing and I am about to install XML::LibXML. I'd better install libxml first." So in conclusion I would say that the less production critical machine is, the less one should be using CPAN on it and the more one should be using the packaging system.