A person’s editor is a sensitive topic, much like their religion and favorite sports team. Some of it makes sense, some of it is superstition, and you’re likely to get a finger in the eye if you try to take away their favorite editor. It’s not unheard of for people to quit jobs to go to one that lets them use the tools they like.
These applications fall into two major camps. There are the editors that are just editors, and then there are full Integrated Development Environments (IDE) that try to handle everything for you. Some people prefer to create their own environments. I prefer a tool that I can use for many things instead of a tool which limits me to a particular task. I learn fewer tools that way and things I learn in one domain help in another.
The perlfaq3 documentation lists several possibilities, but its list of out-of-date and largely untouched for over a decade. I know: I was responsible for most of the updates for the perlfaq for over a decade, and I ignored this stuff unless someone complained.
There are some things I find necessary for good work:
- Must handle plain text
- Should handle UTF-8, although you can scrape by with ASCII
- Line numbering is very important
- Tabs would be nice
- Syntax highlighting helps a little
- Jump to a function definition
Before you download any of these editors, be very wary of what you are actually downloading. Many of the advertisements and site features intentionally lead you to install other software. Sourceforge, once a tool for good, is particularly bad about distinguishing ads for trojans from the download links. It’s one of my biggest surprises coming to the world of Windows. I’ve messed up more than a couple of virtual machines through this. But, that’s why I use virtual machines with snapshots.
If you want the short story, I like either Notepad++ or Komodo Edit. I mostly judge editors based on how the line numbering looks. If the line numbers are there but recede toward the background, the developers probably did everything else that I like.
As I said, different people like different things. If you like something else, or want to help defend your choice, leave a comment or email me to give me more information.
The MS-DOS program edit works from a Command Prompt command line. It’s a basic visual editor that might save your bacon if you have no other options.
Notepad is a plaintext editor application. You can type and perform simple editing, but that’s it. If you’re in a pinch it’s probably there for you.
Word is a word processing application. These sorts of applications differ from text editors because they hold hidden state in the file to remember formatting and structure within the document. Perl won’t know what to do with this stuff. WordPad can save as plaintext, but it’s too easy to save it incorrectly.
This is the editor that I prefer at the moment. Notepad++ is my sort of editor. It’s light, has tabs, numbers its lines, and has the basic editing operations I need. It understands Perl syntax (and many other popular languages), which it colors and autocompletes. It even does block folding.
Komodo Edit is ActiveState’s free offering that breaks out the editor from the Komodo IDE. It understands most of the popular languages, but it takes a bit of tweaking to integrate with external programs.
ConTEXT is a free editor, but clicking on a download link brings up a sneaky PayPal page to make a donation. I don’t have a problem with shareware, but I don’t like these sorts of things popping up without warning. I bet, though, that the developer gets many more donations this way.
GNU emacs has pre-built distributions for Windows. Be sure to get the one that is not “barebin” unless you know what you are doing; that distribution doesn’t have the lisp files that the executables need to run. Emacs is one of the big armies in the editor wars. I think everyone should try it a little and understand it even though I don’t think they have to like it.
There are other binary distributions for emacs too.
Kephra is an editor written in Perl and WxWidgets, although it’s not targeted at only Perl development. Since it’s written with cross-platform components, it’s not limited to Windows. If you have to work on different platforms and want to use the same tool everywhere, this could be interesting to you.
Eclipse + EPIC
The Eclipse IDE is aimed mostly at Java and C++ developers, as well as other specialized sorts of information workers. The EPIC plugin adds functionality for Perl developers. You’re probable interested in these tools if you already use them for something outside of Perl and don’t want an additional tool. Eclipse needs Java, which you might not want to fool with.
Padre installs itself like any other Perl module, and that’s it’s major drawback. It’s bound to a particular Perl installation and anything you do to that installation, including updating modules. It comes as part of DWIM Perl, a variant of Strawberry, but it’s a shame that I need to install so much to get an editor.
Sublime Text is a cross-platform editor available for Windows, Mac OS X, and Linux. It’s in active development, has a trial version, and costs $70 for continued use. It has many attractive editing features and is highly configurable.
SlickEdit is a multi-platform development environment. There’s also a plugin that allows you to use SlickEdit from Eclipse.
It’s $299 for a single user license on Windows. There’s a 15 day free trial.
The full version is $244.50 + $7.50 shipping and handling. It’s $46.50 for the Multi-Edit Lite.
I’ve used UltraEdit for other projects (often short term things where I could get away with the trial version) and know some Windows programmers who like it. If I wanted to buy an editor, this would probably be the one to get.
The full version is $79.95, with a full-featured 30 day trial version.
Zeus has many features, but it has spread them out through menus and settings that I think would be confusing for people used to Windows. It’s $89.95 with a 14 day free trial.
I debated including this list, but finally settled on the idea that if you know they are out-of-date before you start your search for a new tool, I’ve saved you some time. I’ll leave some notes about what I find, but I’m not going to expand on them since they are dead ends. I include some of them because they are listed in other dated Perl resources.
Some of these come with an embedded Perl, which might be out-of-date as well. Indeed, any editor with “Perl” in the title is something that I suspect as a hold over from the dot-bomb days when the word “Perl” was a big draw.
Last updated in 2009. $109.90.
Free. Last updated in 2009.
Open Perl IDE
Last updated 2002.
$59. Last updated in 2008.
I think this editor is mostly dead, although there’s some text on the page that makes the dates stay current. It heavily references CGI programs and there’s not a mention of Windows after Windows 2000,
visiPerl+ had the curious feature of a variables pane so you could drag names into a document to make it easier to use the same name in each file. I’d rather see that with auto-complete, but even seeing the list might be useful.
There’s a 14-day trial version and the $59 full version. However, it hasn’t had a new release since 2001.