[ic] Updating Vend Safe to make interchange compatible with new versions of perl

Peter Motschmann pnm3 at optonline.net
Wed Feb 6 19:53:36 UTC 2013


Recently my company has begun the process of migrating from perl v5.10.0 
to v5.14.1. This caused all sorts of mayhem; the short version of a two 
day investigation in to why all manor of random unseemly related things 
broke is that Interchange does not work well with newer versions of 
Safe.

The recommendation we got from the IC IRC channel was to untrap 
everthing plus add some bizarre autoloads no one understands, which was 
a real pain and only sort of fixed things.

Rather then doing all of that I have devised a lazier, easier, and more 
permanent solution to the upgrade issue.

Integrate an older version of Safe directly into Vend::Safe

With this change you no longer 'use Safe' so you can go to any version 
of perl without fear of Safe upgrades wrecking IC. This also has the 
advantage of maintaining the functionality of Safe within IC instead of 
disabling it. Most importantly however is you can fix the entire upgrade 
problem in one place now and forever instead of digging through all your 
code to untrap things that are causing a problem.

I've created a Gist to modify your Vend::Safe module (without warranty) 
for anyone that might find this useful.

https://gist.github.com/pmotschmann/4723986

If this solves upgrade issues for anyone, great! if it blows up your 
website I deny knowing you.

-Peter Motschmann



More information about the interchange-users mailing list