Text Editors for Windows Perl

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.

Included editors

edit

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

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.

notepad

WordPad

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.

wordpad

Free editors

Notepad++

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.

notepad++

Komodo Edit

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.

komodo

ConTEXT

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.

context

emacs

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.

emacs

Vi(m)

Vim is a vi clone, or, “Vi iMproved”. It’s one of the Big Two editors in the land of unix, but it also has binaries for Windows and other systems.

gvim

Kephra

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.

kephra

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

Padre is an open-source editor written in Perl and WxWidgets.

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.

SciTE

The SciTE editor works both in Windows and X (so, it supports unix-like things and others), and there’s a pay version in the Mac App Store ($41.99).

scite

Pay Editors

I have no problem paying for an editor (and I’ve been paying for BBEdit for years). Programmers are people who need to eat too. Some of these are listed in perlfaq3, which is why I list them here.

Sublime Text

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.

sublime

SlickEdit

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.

Multi-Edit

The full version is $244.50 + $7.50 shipping and handling. It’s $46.50 for the Multi-Edit Lite.

UltraEdit

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.

ultraedit

Zeus

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.

zeus

Old Editors

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.

EigInSite

Last updated in 2009. $109.90.

JED

Free. Last updated in 2009.

Open Perl IDE

Last updated 2002.

OptiPerl

$59. Last updated in 2008.

PerlBuilder

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+

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.

Leave a comment

3 Comments.

  1. Why Perl seems to be so Windows OS centric if on Windows there is already DOS, VBSCript and PowerShell to name a few?
    What Perl offers PowerShell doesn’t?

    • I’m ignorant of most Powershell topics, but essentially it’s a way of scripting Windows through the Windows APIs and libraries. Perl is general purpose. You might use Perl to script Windows, but Windows might be merely the system it’s running on while it does its work. Not only can you leverage everything that Perl has, including CPAN, but Perl’s (mostly) cross-platform nature means that Windows, Linux, and whatever else can share code. The same is true of Python, Ruby, and others.

      Not all work is original either. You might find something you like but someone else created (which is what I think motivates most people to pick up a first language). If that thing is Perl and you’re using Windows, you have to be able to work with the two.

      I’m not going to tell people, in general, to use Perl over Powershell. It depends on the context. Powershell looks like a lot of fun and a lot more advanced than the pass-by-text nature of unix tools (although I adore that feature of those tools).

  2. Another old editor is Crimson Editor. Which has apparently been Open Sourced since I last used it.

    It has the same basic layout as Komodo. I quite liked it at the time. Really one of the main reasons I switched from it to Komodo Edit is that Komodo Edit had better highlighting for Perl, and was available on both Linux and Windows.

    Although it has been a while since it was last updated so more modern Perl code will probably have poor highlighting.

Leave a Reply

Your email address will not be published. Required fields are marked *