Showing someone the basics of what programming is about, and trying to teach them Perl all in the same book is a pretty difficult task, but surely can be done, and done well.
in reply to Perl for Non-Programmers...
Some important things to consider (from my humble perspective anyways :):
- Clearly define, within a practical context buzzwords like "function", "module", "variable", "scope", "array", etc, etc...there are some definitions required that will be so basic that you might have to work really hard to remember to include them. :)
- Keep the book short! Nothing says newbie-friendly like a little book that can be read in a few nights. 200-230 pages at most.
- With that in mind, my opinion is to forget about trying to get into explaining hardly anything at all about regex's...there is a lot of coding(in fact, most coding) done without them, especially on Win32. Also, limited, if any exposure to OO, references, and anything much more beyond simple function definitions, variable assignment, statements and expressions, basic looping and decision constructs, simple I/O, and a few nifty algorithms. As programmers talking to non-programmers we often forget what "non-programmer" really means. :)
- As mentioned, a heavy emphasis on what other documentation is out there (and helpful forums like Perl Monks), and how to install from CPAN, etc is crucial. In fact, this was probably one of the few things I didn't like about Learning Perl, which was an otherwise amazing intro.
With every page you write, ask yourself "could my grandmother understand this?" If the answer is yes, you're on the right track. :)
Also, with all these points and those mentioned by others, never understimate what a great book (and certainly if it were so great that even the newbiest newbie could start to "get it") can do for a language. There are probably many people who developed an interest in Perl just because of the technical mastery displayed in books like Learning Perl, Programming Perl, and The Perl Cookbook. I did.