I also recommend The Pragmatic Programmer.
in reply to best practice
But another thing I recommend is, don't write pseudocode for Perl. In a low level language like C that is needed, but in a high level language it is less needed. I prefer another system of prototyping: the rough draft. Or, as the saying goes, (anybody know who I'm quoting?) "plan to throw one away. You will, anyways."
To clarify my position on design documents, while I don't think pseudocode is particularly valuable in Perl, I do think charts are valuable, and I do recommend using charts to determine the best data structures.
Snazzy tagline here