Sepia is an interactive environment for perl development, which follows the general philosophy providing tools similar to the ones available to emacs lisp programmers. Rather than follow the typical IDE approach of displaying multiple panes information about the code, it is centered around the “M-x sepia-repl” command-line shell. The mode of operation is that you ask it for information, and then it tells you (rather than continual re-calculating information to display that the user might not actually care about).

One of the things that Sepia works well for out-of-the-box is as an environment for testing snippets of perl code interactively: unlike the perl debugger (also commonly used for this purpose) it can easily handle multi-line code, and it continually echoes the values of any expressions without using an explicit command (such as “x” in the debugger).

Sepia has a number of other IDE-like features for code navigation and introspection which unfortunately do not seem to be as easily accessible (or at least, not as well documented – see below).



If you’re installing from CPAN, you’ll probably run into a problem if you don’t have Emacs 22:

alex@Megabombus:~/Desktop$ cpanm Sepia
--> Working on Sepia
Fetching ... OK
Configuring Sepia-0.992 ... OK
Building and testing Sepia-0.992 ... FAIL
! Installing Sepia failed. See /Users/alex/.cpanm/work/1436341248.24776/build.log for details. Retry with --force to force install it.

The reason is this snippet in the Makefile:

install ::
	install -d -m755 $(DESTDIR)/usr/local/share/info
	install -m644 $(DESTDIR)/usr/local/share/info
	install-info $(DESTDIR)/usr/local/share/info/ $(DESTDIR)/usr/local/share/info/dir
	install -d -m755 $(DESTDIR)/usr/share/emacs/22.1/site-lisp
	install -m644 *.el $(DESTDIR)/usr/share/emacs/22.1/site-lisp
	install -m644 *.elc $(DESTDIR)/usr/share/emacs/22.1/site-lisp

You will need to fix the the version in the path if you don’t use 22.1! Or simply copy the elisp files into a directory on your ‘load-path’.


Myself, I can’t quite see how one is intended to use Sepia to examine code under development. How do you point it at your files?

I’m not alone in this problem. For example, in this talk, there’s the odd assertion that Sepia is only good for examining the core perl modules (warning: slides implemented using flash):

– Doom

I don’t understand the “core perl modules” complaint, either. As for pointing it at your files, you need to evaluate the code you want to look at, either by typing “use Module” at the REPL prompt, or by running ‘sepia-load-file’ (“C-c C-l”) from your Perl file.


Some features are known to be flaky (e.g. next line in the debugger), and are works in progress.


Some rarely used or unused features may be broken. If you find one, please submit a bug report, and I will try to fix it.


External links

Further discussion: [1] [2]

Some hints: [3]