So I've got a ton of code right now (a well built system) that does not use strict, has tons of subroutines and is very well organized that uses my $var, at every occassion, and, uses return(); when no return $var is required. It's clean, efficient and it works.
How much of this "well built system" has regression tests around it? I'm afraid refactoring working production code without the safety net of a comprehensive test suite is tantamount to suicide. So your first step may be to write a comprehensive regression test suite for your system.

Since this may be a daunting task, can you break your large system into smaller components that can be tested in isolation? (sounds problematic due to your heavy use of globals). If you can do that, at least you can then convert the system to be strict-safe one component at a time.

It uses a lot of requires IE 'process.pl', 'whatever.pl'. (files required only when necessary)
Does your system currently use Perl modules? You might consider converting some of your scripts to modules, see for example How a script becomes a module.

Update: See also: So I'm in a bit of a quandary


In reply to Re: A use strict confession, with real questions. by eyepopslikeamosquito
in thread A use strict confession, with real questions. by perlidiot123

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.