in reply to Implementing strict on shoddy code

You've got quite a task on your hands. I've done this very task. I started by doing the obvious: use strict in the main routines. That, of course, boned the code. So i tried the opposite approach: starting from the libraries. I added use strict to library routines. It was slightly easier to have the code continue to work when coming from that direction. Also, it let me understand data flow in the code.
Then I did some more ambitious things: I found common subs and put them into a proper Library_name.pm file, and started to
use Library_Name qw(/subroutine_i_needed/);
This then took me the next couple steps. I started with use strict in the library.pm file, and I could start making the interfaces more like a properly built system. I didn't go all the way to object perl, the system did not really lend itself to that, but it did let me go to use strict fairly quickly.
Worst part was the templating code. it relied on eval's and globals. Very ugly. I ended up replacing the whole template stuff with some generic code that (later) I found was similar to the CPAN Templating stuff.
--
Jay "Yohimbe" Thorne, alpha geek for UserFriendly