In response to the release of Perl::Shell, Shawn Moore had some fairly nasty initial feedback he chose to post to cpanrantings.
So I thought I should at least explain why I created it (in a location that won't be polluting).
Like with many areas pioneered by more advanced users, my main problem is mostly with Windows support.
Lets start with Devel::REPL, and why I didn't just use it instead.
Partly, this is my fault. For some reason, I thought Devel::REPL used Coro, so when "testing" Devel::REPL I first tried to install Coro, which won't build on Windows at all.
Of course, because I was completely mistaken about Devel::REPL I missed the fact that Devel::REPL installs just fine on Win32. I really should have known better, since Matt Trout himself uses Windows.
The only problem with DeveL::REPL is that the perl shell it provides "re.pl" doesn't work on Windows as documented, because the
Devel::REPL also has some other minor problems, such as using vstrings in use lines (which throws a warning), allowing incomplete statements (although a few patches from me to the PPI functionality should fix that) and odd visual behaviour when you print something without a trailing newline.
Frankly, Python did the shell usability things really really well, and I would personally would just like a clone of the way they do it.
Looking at this situation, I'll probably end up ditching Perl::Shell, and moving "perlthon" to App::Perlthon instead, since it should be a fairly lightweight wrapper around Devel::REPL, once some bugs in Devel::REPL are fixed.
As for the other alternatives suggested by Shawn Moore, the field is a bit thinner.
Shell::Perl doesn't work on Windows, so is irrelevant.
App::Perl does install, and it's iperl shell does SORT of work, but all the prompts spew weird crap to the command line. It looks like maybe it's coloured ansi gone bad.
perlconsole installs on Win32, then spews some warnings that stink of Unix biases, and doesn't support implicit multi-line statements, plus is kinda noisy.
Zoidberg I have never heard of, and would never have found in a CPAN search, and also doesn't work on Windows.
Finally, Sepia's Makefile.PL starts with the particularly inspiring comment...
To actually use this package in a useful way, you probably need to
move the Emacs Lisp files somewhere. Where will depend on your
It installs, but at that point I actually looked at the search.cpan page for Sepia, to discover it isn't even a shell at all, but some kind of extension for an editor I don't even use. So the message makes a bit more sense, but the module is still useless to me.
So apart from Devel::REPL, they are all entirely useless from a cross-platform perspective (but obviously more useful if you don't mind being Unix-specific).
Apart from the initial mistake of misjudging Devel::REPL, it would seem there WAS room for a new shell.
I agree that with Devel::REPL, there's probably no need for another complete standalone shell. Instead, I'll probably just fix the various annoying bugs in Devel::REPL, and then rewrite "perlthon" around it instead.
Unless of course, Devel::REPL wanted to use it instead of the current re.pl script...