I develop applications using PHP or Java and will study Perl for the first time.
For PHP and Java, there are integrated development environments such as Eclipse, and
Padre is getting better, but it's currently not quite up there with Komodo or EPIC.
That said, it is comparable with Ultraedit or Notepad++ at this point, less than a year after the first line of code was written.
With about 30 people actively committing, 35-40 plugins either released or in development, and translations in 20 languages, it is also moving ahead incredibly quickly.
So right now, I agree that EPIC is probably the way to go, since you've used Eclipse already.
But by this time next year it's probably going to be a different story.
Komodo Edit is a free editor from Active State, probably not as feature rich as the full IDE but I find it very useful for Perl development, and it supports multiple languages.
From perlfaq3: Is there an IDE or Windows Perl Editor?, where it looks much nicer.
If the Padre people want their stuff in here, just add the right bits. The source lives in my perlfaq github repo. You can fork it, edit the file right in GitHub, and send me a pull request.
Is there an IDE or Windows Perl Editor?
Perl programs are just plain text, so any editor will do.
If you're on Unix, you already have an IDE--Unix itself. The Unix philosophy is the philosophy of several small tools that each do one thing and do it well. It's like a carpenter's toolbox.
If you want an IDE, check the following (in alphabetical order, not order of preference):
Eclipse
The Eclipse Perl Integration Project integrates Perl editing/debugging with Eclipse.
Enginsite
Perl Editor by EngInSite is a complete integrated development environment (IDE) for creating, testing, and debugging Perl scripts; the tool runs on Windows 9x/NT/2000/XP or later.
Komodo
ActiveState's cross-platform (as of October 2004, that's Windows, Linux, and Solaris), multi-language IDE has Perl support, including a regular expression debugger and remote debugging.
Open Perl IDE
Open Perl IDE is an integrated development environment for writing and debugging Perl scripts with ActiveState's ActivePerl distribution under Windows 95/98/NT/2000.
OptiPerl
OptiPerl is a Windows IDE with simulated CGI environment, including debugger and syntax highlighting editor.
PerlBuilder
PerlBuidler is an integrated development environment for Windows that supports Perl development.
visiPerl+
From Help Consulting, for Windows.
Visual Perl
Visual Perl is a Visual Studio.NET plug-in from ActiveState.
Zeus
Zeus for Window is another Win32 multi-language editor/IDE that comes with support for Perl
For editors: if you're on Unix you probably have vi or a vi clone
already, and possibly an Emacs too, so you may not need to download
anything. In any Emacs, the cperl-mode
(M-x cperl-mode
) gives you
perhaps the best available Perl editing mode in any editor.
If you are using Windows, you can use any editor that lets you work with plain text, such as NotePad or WordPad. Word processors, such as Microsoft Word or WordPerfect, typically do not work since they insert all sorts of behind-the-scenes information, although some allow you to save files as "Text Only". You can also download text editors designed specifically for programming, such as Textpad and UltraEdit, among others.
If you are using Mac OS, the same concerns apply. MacPerl (for Classic environments) comes with a simple editor. Popular external editors are BBEdit or Alpha. Mac OS X users can use Unix editors as well.
GNU Emacs
MicroEMACS
XEmacs
Jed
or a vi clone such as
Elvis FTP, WWW
Vile
Vim
For vi lovers in general, Windows or elsewhere: vi
nvi (available from CPAN in src/misc/
) is
yet another vi clone, unfortunately not available for Windows, but in
Unix platforms you might be interested in trying it out, firstly
because strictly speaking it is not a vi clone, it is the real vi, or
the new incarnation of it, and secondly because you can embed Perl
inside it to use Perl as the scripting language. nvi is not alone in
this, though: at least also vim and vile offer an embedded Perl.
The following are Win32 multilanguage editor/IDESs that support Perl:
Codewright
MultiEdit
SlickEdit
There is also a toyedit Text widget based editor written in Perl that is distributed with the Tk module on CPAN. The ptkdb is a Perl/tk based debugger that acts as a development environment of sorts. Perl Composer is an IDE for Perl/Tk GUI creation.
In addition to an editor/IDE you might be interested in a more powerful shell environment for Win32. Your options include
Bash from the Cygwin package
Ksh from the MKS Toolkit, or the Bourne shell of the U/WIN environment
Tcsh, see also Using csh & tcsh
Zsh
MKS and U/WIN are commercial (U/WIN is free for educational and research purposes), Cygwin is covered by the GNU Public License (but that shouldn't matter for Perl use). The Cygwin, MKS, and U/WIN all contain (in addition to the shells) a comprehensive set of standard UNIX toolkit utilities.
If you're transferring text files between Unix and Windows using FTP be sure to transfer them in ASCII mode so the ends of lines are appropriately converted.
On Mac OS the MacPerl Application comes with a simple 32k text editor that behaves like a rudimentary IDE. In contrast to the MacPerl Application the MPW Perl tool can make use o Shell f the MPW itself as an editor (with no 32k limit).
Affrus is a full Perl development environment with full debugger support.
Alpha is an editor, written and extensible in Tcl, that nonetheless has built in support for several popular markup and programming languages including Perl and HTML.
BBEdit and BBEdit Lite are text editors for Mac OS that have a Perl sensitivity mode.
Pepper and Pe are programming language sensitive text editors for Mac OS X and BeOS respectively.
You didn't specify which platform you're on, but on the Macintosh, TextMate is a very popular choice for Perl development. It's completely replaced Vim for me, and while it's not a full IDE, it's got alot of neat integrations in bundles specially targeted towards Perl development.
If you're already familiar with debugging in Eclipse, then the EPIC plugin is exactly what you're looking for.
It's got stepped debugging within the Debug perspective, like with other languages in Eclipse. It's not as strong as the Java support, but it's got an easier learning curve than e.g. "perl -d" (the 'standard' way to debug Perl), or even learning a new editor like Emacs, with its Perl debugging integration.
Perl has very good debugging support. Read perldoc perldebug for details.
There are a bunch of IDEs such as ActiveState's Komodo, EPIC etc but I prefer to combine GVim (see also .vimrc for Perl programmers) with the command line. Others prefer Emacs.