in reply to RFC: How to succeed with your Perl homework
An excellent post!
One of the most sensible books I ever read said a great deal by just its title: Algorithms + Data Structures = Programs. This is a good approach to take. Consider, separately, (a) how you intend to represent the data, and (b) how you intend to process it. If you cannot clearly express those two things on paper, then you cannot possibly be ready to express them to a computer.
It helps tremendously to build test-cases while you are building something. (See: Test::More and all of its many kinfolk.) When you change a program “anywhere,” you can break something “anywhere else.” But, if a program that used to say, All tests successful, still does, then at least you know where the problem probably isn’t.
I am also a big fan of writing the documentation, in the source-code, before you actually write the subroutine you’re about to write. There is always a notepad (and a coffee cup) at my left hand.
Finally, pay very close attention to http://search.cpan.org. No matter what you’re doing with Perl, it has probably been done before. Or at least, there is something you can use. Learn to be very jealous of your own time. There is definitely a place in the world of computer software development for preparation, forethought, and research.