For an excellent replacement to an enterprise-wide messaging system, check out Jabber. There are LOTS of Jabber-based perl modules, there's an O'Reilly book ('Programming Jabber') with a lot of perl in it, and in general is a well thought out solution to the problem of interapplication communication.
Also I recommend serializing objects where appropriate using YAML.
Both YAML and Jabber have very good support for interfacing to other languages on the other end of the messaging pipe.