in reply to Refactoring a large script

Quality is an elusive thing but there are probably several aspects you want to improve. Some of them might be: These are not well-distinguished from each other and are often overlapping or related. As you learn more and more Perl and programming, always ask yourself "how can this technique or principle help me achieve these goals in my code"? An incremental attitude is very good to have: you can't make your stuff perfect in one go, and gradual improvement is not a bad thing!

There are many things you can pursue in this line. For example, writing tests are a wonderful and permanent benefit even if at first they only cover a small part of your functionality. Adding use strict and use warnings if they aren't there already (and heeding their advice!) will help a lot too. (If you find it difficult to do and have already started splitting your code to modules, tackling one file at a time may be useful.) Depending on your program's goals and your existing code various "more than intro-level" stuffs will be suitable next—I'd suggest showing us some code and saying "this does X but can how would you suggest doing it better?". Many of us here are self taught and virtually all have learned from others on this site: welcome! you are in good company.