Padre Review – Perl Scripting Environment

I am currently working on a personal programming project. Once completed, the eventual binaries will actually be launched by either running a Python or Perl script. Experimenting with some Perl stuff has given me the chance to review a nice Perl scripting IDE called Padre.

Padre is very similar to your regular text-editor packages. It has a strong focus on Perl scripting and module support. Padre also has its own plug-in support functions. The best feature of Padre is its very customizable interface and easy to tweak to your own preferences for maximum productivity.


  • Syntax highlighting
  • Syntax checking (Perl 5 and Perl 6)
  • Beginner and advanced user-friendly environment
  • Multi-platform support (Linux, Unix, Mac OS and Windows OS)
  • Open-source

There is a rather extensive list of all the features here


When you check out the feature list, you come to realize its simplistic appearance can be somewhat deceiving as it really does look just like any other text-editor. Padre is so much more.

The Application

Padre makes it easy to get started right away with providing basic starting templates for both Perl 5 and Perl 6. Although admittedly there seems to be stronger starter support for Perl 5, with basic starting templates for Perl 5 scripts and modules. Whereas there is only a starting template for Perl 6 scripting.


In the File menu, you have your Reload and Duplicate options which any developer can tell you that the Reload button is a very handy tool to have. I know it’s something I’d be lost with when I use Geany for code management on bigger projects. So it’s also nice to see Padre have included it.

Your Edit options are all the standard stuff, auto-line completion, line joining and diff tools being the stand out edit functions.

As mentioned at the beginning of this review, there are a tonne of options in the View menu, with options to configure the environment exactly as you prefer. Personally, I like the standard layout for it’s simplicity. But it really comes down to the way you work as to how you will use it yourself.


I really liked the To-Do List display. It’s something that I think could be really handy for planning out your development path prior to starting your actual coding. I usually use the scratch pad in Emacs for the same function, but changing buffers constantly can sometimes get tedious. Padre has it sitting within the main window and just off to the side of the main screen real-estate. This comes in very handy. Although its behavior is a little odd as it does not seem to create new To-Do jobs as separate items, instead having everything as the one note. And for some odd reason, there’s no text-wrapping in the To-Do List. Odd, yet I still found it was handy to have there for quick notes.

Once you have some code in there, Padre can do Error-checking for basic Perl coding errors. It’s probably a feature more targeted for beginners. If you’re like me, I like my code exactly the way that I put it in and don’t like to have the software dickying around with it telling me “this is how it should be”. Still, the option is there if error-checking floats your boat.

Run options are kept simple. You can run the script directly from within Padre, which launches an external xterm window with the running code. The main Padre window remains open whilst running the script, so it’s easy to close the xterm session and make the necessary changes in Padre and re-run the script. It handles it all very well and I experienced no crashes or irregular behavior.


I dabbled around with the Debugger also. It has a nice debugging tool which you can run-until-break. Upon breakage, it gives you a debugging prompt. Yet prior to running this, Padre saves your file to your specified location. This is a good thing because launching a run-until-break in the debugger closed Padre completely. Once you are finished debugging, you have to manually re-open Padre to resume working on your code. I didn’t really like that method, but I am just lazy and would have preferred Padre to stay open in the background so I could resume work once the running script was complete and closed, without requiring the user to re-open Padre.

The Plug-in Manager didn’t really have anything to excite me with. It displays the current Plug-ins, what is installed and enabled/disabled. Personally, I found everything that I would use within Padre itself and didn’t feel the need to go searching for and installing plug-ins. The support and option is there if plug-ins are your thing. But for now, you’re on your own with that one.

In the Preferences, you have some extra options to play around with. The first thing I actually changed was the appearance of Padre. There is a small selection of pre-set color schemes for you to choose from. I settled for the ‘Night‘ theme as it works best for my eyes and I find working with darker color schemes much easier on the eyes when you’re staring at the screen and lines of code for hours on end writing Perl scripts. Naturally, this will be a personal choice though.

Other options you’ll see are Auto-complete, Behavior and external location for your Diff tool of choice, which must be manually set by the user for the Diff function to use inside Padre.

Inside the Preferences, there is also an Advanced button at the bottom of the screen which can be clicked. It launches a screen similar to that of the Firefox about:config configuration. Here, you can modify specific settings to whatever value is required. But I’d strongly suggest avoiding this one unless you’re an advanced user and know what each specific option does.


The Padre interface will make any user of any skill level feel right at home. It is the usual notepad-like tabbed interface. It’s clean, simple and fast. It’s a nice addition to the development packages already installed on most developer’s systems and sits alongside Emacs, Geany and Sublime in my own dock.

There seems to be quite a few versions of Padre available, depending on your distribution of choice and version. I tested Padre version 0.90 on my elementaryOS/Ubuntu office system, which runs a Ubuntu 12.04 base core.

If you’d like to install Padre and you’re running Ubuntu, you can simply install it with apt-get:

% sudo apt-get update && sudo apt-get install padre