tags:

views:

702

answers:

8

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 debugging environment was regulated well, but, in the case of Perl, what kind of development environment do people use?

Is there a recommended IDE?

I would prefer a free debugging environment.

+10  A: 

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.

Sinan Ünür
+21  A: 

As Sinan stated, there are some IDEs for Perl. Padre is worth a mention. It is being actively developed by the Perl community.

Alan Haggai Alavi
Ah, I forgot about Padre. Thanks for mentioning that. I'll upvote your answer in about 20 hours ;-)
Sinan Ünür
Haha. No problem. :-)
Alan Haggai Alavi
"actively developed by the Perl community" means also written in Perl. This way, when you get confortable writing Perl you can fix bugs or implement feature *you* want!
+5  A: 

What I use -- and what I've gotten the impression that most other serious Perl developers use -- is a good text editor. The only "integration" I have is via user-defined tools. For Perl, that's these:

perl -Mstrict -cw <file>  # Perl "lint"
perl <file>               # run file
perl -d <file>            # run file in debugger

I have others for checking files in/out of version control, browsing history, etc. A good configurable editor (I'm partial to UltraEdit) will allow you to build your own environment using the tools you want instead of foisting an all-encompassing solution on you.

Michael Carman
+8  A: 

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.

Jeremy Smyth
+9  A: 

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.

Adam Kennedy
+3  A: 

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.

Akers
+6  A: 

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.

brian d foy
+1 but I am going to humbly suggest that just a link to the FAQ would have been sufficient.
Sinan Ünür
Apparently no one reads the FAQ unless you shove it down their throats. I think for those people, following a link is probably too much work.
brian d foy
+2  A: 

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.

Marcus Ramberg