How can I fix perl if I can't use dpkg? Here is the output from aptitude around the first failure:
Preparing to replace perl 5.10.0-18 (using .../perl_5.10.0-19_i386.deb) ... Unpacking replacement perl ... Preparing to replace perl-base 5.10.0-18 (using .../perl-base_5.10.0-19_i386.deb) ... Unpacking replacement perl-base ... Processing triggers for man-db ... syntax error at -e line 1, near "3];" syntax error at -e line 1, near "2];" Missing right curly or square bracket at -e line 2, at end of line Execution of -e aborted due to compilation errors. Setting up perl-base (5.10.0-19) ...
It seems that the old /usr/bin/perl is still there so perhaps the segfaults are because of library upgrades (libc6 was upgraded earlier in the process).
I tried reverting libc6 (2.7-18 to 2.7-16). It seems odd that versions that close would cause problems. Reverting didn't work because dpkg segfaults:
dpkg: error processing /var/cache/apt/archives/libc6_2.7-16_i386.deb (--install): subprocess pre-installation script killed by signal (Segmentation fault)
Though libc6.preinst doesn't use perl. Either I'm misunderstanding or the problem is more general.
Of course the above syntax errors (in man-db.postinst) don't really seem to be errors. And another system (similar but with many more packages) upgraded cleanly. So I'm at a loss why things would fail in the first place.
Thanks! Dave