Today I had to get perl up and running on a new CentOS machine, and I remembered why I don’t like perl. I tried to do everything from the CPAN system. I got things working after hunting and doing things by hand, but the crux of the problem was:
perl -MCPAN -e shell
>install HTML::Mason
… needs to install Module::Build …
… Module::Build dies stating that it can’t find version.pm …
>install version
… dies stating that it can’t find Module/Build.pm
*CIRCULAR DEPENDANCIES* suck. In all my years of dealing with compiling and installing PHP, I can’t recall ever coming across one. It might have happened in PEAR, which I rarely use, but certainly not in the core system. Yes, it’s apples and oranges, because my core perl was working, but you can not be effective with perl without CPAN up and running, while in PHP you can.
In the end, I had to make a ‘version’ directory in the /usr/lib/perl5/perl5.8.5 directory, well, I’ll just show you.
>mkdir /usr/lib/perl5/5.8.5/version
>cp /root/.cpan/build/version-0.65.1/lib/version.pm /usr/lib/perl5/5.8.5/
>cp /root/.cpan/build/version-0.65.1/vperl/vpp.pm /usr/lib/perl5/5.8.5/version
Yes, I finally got it working. No, the perl tools didn’t help me – I had to fight against them then do stuff by hand. It’s these sorts of things which are continually marginalizing perl (over and above difficult-to-read code).