If you spend any time working in Perl, I think you should a take a look at Padre, the Perl IDE – it’s worth spending a couple of hours looking at, at least.
Generally, I don’t use IDEs, as a lot of the time I don’t have access to a GUI (SSH + GNU screen FTW!) – I usually use a mixture of both vim and emacs, depending on what I’m doing (and what’s installed). So, when it came to a Perl IDE, I wasn’t too bothered.
Then I installed it and started using it – and was impressed. An IDE for Perl, written in Perl, making it pretty easy to make whatever changes you want to it.
One thing I did want in Padre, but couldn’t find, was the ability to use local::lib to get the things I wanted just for Padre. There’s nothing in the startup file for it, nor are there any config options to add a local::lib for Padre. Then, the correct, most Perlish method struck me – Padre is a Perl module, so the Perlish way to add local::lib support would be to write my own startup script, loading local::lib before Padre. And that’s just what I did. 🙂
#!/usr/bin/perl use strict; use warnings; use local::lib; # ~/perl5 is fine with me require Padre; my $SESSION; # Am I being too "virtuous" here? :) my %opts = ( files  => \@ARGV, session => $SESSION, ); my $app = Padre->new(%opts); unless ($app) { # Single instance worked correctly exit(0); } # Start the application $app->run;
Okay, I’ve cheated and not bothered to read/set the ‘session’ value, but I can easily copy that from the default Padre startup script if/when I need it.
I’m still getting used to it, but so far it’s looking good – really good. It’s a shame there’s no database modeller plugin yet, but I’m guess that someone (maybe even me, if I ever get the time!) may create one.