One area in which Perl falls behind other languages is in its lack of a usable Read-Evaluate-Print-Loop. (perl -de 0 just isn’t enough for me.) I’ve used Ruby’s irb and a handful of Python shells, and I’m starting to become a fan of ghci, but I fall back on perl -e far too often for my sanity.

Matt S. Trout, who you may remember from DBIx::Class and the Catalyst Framework, has written an article about Writing a Modern Perl REPL, using good design techniques and, of course, some of the most powerful CPAN modules available.