in reply to
How to write long programms?
When code starts growing, it can be a good idea to split things up into modules. Give your variables sensible names. Same goes for subroutines.
More importantly: document what you do. If you write code of which you even think it has the slightest chance that someone else will not immediately understand what happens, write a commentline in which you describe what it does. That does not only go for complicated regexes, but also for calculations and stuff like that.
Hope it helps...
Jouke Visser, Perl 'Adept'