Apple's Mac OS X update breaks Perl

Never trust a vendor

Apple's latest Mac OS X security update has a knack for breaking Perl, according to Mac users across the web.

"I've just done the update using Software update and just about everything I look at is working, except that perl seems to have gone almost AWOL," says one Mac OS X user, with a post to Apple's support forum.

"I seen it pop up occasionally in the Activity Monitor, but, when I try to run perl scripts from the command line or the cron jobs that ran flawlessly before the update, nothing happens. Period."

Two additional support forum visitors say they've experienced similar problems with the popular programming language following Mac updates, and others have complained of Perl breakage on a public Perl mailing list and an independent blog.

This would indicate that Apple's security update reverts Mac Perl to an older IO object incompatible with newer CPAN modules. "The Security Update brings (old) IO.bundle with version 1.22 but your IO.pm has been updated to the latest 1.23 on CPAN shell. (But hey, 1.23 was released in 2006...Why do you bring that ancient version back, Apple!?)," Miyagawa writes.

The blogger claims you can fix the problem if you reload the IO module. But since Perl is broken, this takes a little finesse. "The fix is to update IO.pm to 1.23, but since IO.pm is now broken, you can't even run CPAN shell to do this (Ugh!). You need to go to CPAN and grab IO-1.2301.tar.gz, unpack it and run 'perl Makefile.PL; make; sudo make install' to fix this."

And one support forum poster says the fix is only a partial solution.

"This is another reason why you shouldn't use Perl that comes from vendors," Miyagawa says. "Apple isn't any different from Fedora on this!" ®