You hint at one thing that can be a really good motivator: Having somebody who expects to see results. That's easy when you have customers or coworkers, not so easy on personal projects. But perhaps you have friends or acquaintances (PerlMonks?) who would be interested in what you are doing. If you tell an interested party "I'm going to implement feature Foo this week", I suspect you'll find yourself much more motivated to keep your commitment than you would without the external pressure.
One other thing I find useful when I'm feeling burnt out on coding is to work on other aspects of the project, particularly documentation and test cases. It may not be as exciting as coding itself, but it needs to get done, and I find that sometimes thinking about the project at that level actually does inspire me to get back into coding.
You could also try a change of scenery. Oddly enough, I sometimes find that the bustle of the local coffeehouses can induce me to be really productive, despite what would seem like a lot of distractions. Hiking in the mountains also does great things for clearing out the cobwebs. I've written about sources of inspiration previously in this node.