Posts Tagged ‘Perl’

Configuration Files and Config::JFDI

Thursday, December 10th, 2009

I wrote this some time ago, and it sat in the queue and got stale.  I’ve mentioned one place I’m not using Config::JFDI, but I’m using it other places and I thought it desrved a mention.

I mentioned my old framework had a way to infer which configuration file to use by examining the environment it was running in.  I’ve moved to the Catalyst Way of things (more or less) and that will make things easier.  A bunch of my old code can go away.

I have some useful tools to do things which do like to read the config file, too.  They used the same code.  They now use Config::JFDI.  It reads config files the same way Catalyst does, and gives you a very similar $config object you can use to look at things with.

I did have to dig in to the sources to get it to work right, even though it’s pretty well documented.


Calling Catalyst functions outside Catalyst.

Monday, November 30th, 2009

Several times, I’ve wished I could write command-line tools to manage Catalyst applications.  Those tools, invariably, needed to call some of the Catalyst functions, or at least get to the database.

I had struggled with Config::JFDI and tried to create DBIx::Class objects outside of the Catalyst models so they could be used standalone.  This sort of worked, but wasn’t as easy as I wanted.

I found a way, and it’s so simple it hurts.   I can’t help think this is one of those things the Catalyst team will read and think, “Well, duh!” but it was never clear to me and I struggled with it for months. (more…)

Recursive Dependencies in CPAN

Saturday, June 20th, 2009

I’ve been quiet lately, as I’ve had hardware problems and haven’t done much development on my spare spare machine.  Finally got a new one, and am installing everything.


Autovivification bit me today

Tuesday, May 26th, 2009

For the first time in more than five years, I got bit by autovivification.  It’s one of those odd quirks of Perl that I’d read about, and heard the problems with but never bumped in to them.


Debugging Catalyst

Saturday, May 9th, 2009

My last post discussed figuring out how part of Catalyst worked.  I had to put debug code in to a library and watch it run. How do you do tht?

It’s actually pretty easy, but it wasn’t obvious, at least to me.  It is on the debugging page of the Catalyst tutorial, but I missed it the first dozen times I read the page.


Catalyst and local configuration files

Saturday, May 2nd, 2009

This just took me two hours to debug, so I thought I’d go ahead and turn it in to a post…


Catalyst supports reading a config file. usually called myapp.conf.  You can also add extra configuration, but figuring out where it goes took me ages.

In a nutshell, Catalyst will read myapp.conf and myapp_local.conf.

You can change what the ‘local’ part in that is by setting an environment variable called MYAPP_CONFIG_LOCAL_SUFFIX or one called CATALYST_CONFIG_LOCAL_SUFFIX.

If MYAPP_CONFIG_LOCAL_SUFFIX is set, CATALYST_CONFIG_LOCAL_SUFFIX is apparently ignored.  (You don’t get two additional config files, just the one.)

MYAPP_CONFIG_LOCAL_SUFFIX applies only to MyApp, where CATALYST_CONFIG_LOCAL_SUFFIX will be applied to any Catalyst app.  Be careful with it. (more…)

Modern Perl and I

Sunday, April 26th, 2009

I’m working on several projects.  Lately, my language of choice has been Perl because it lets me get things done quickly and because I can usually depend on the CPAN to have tools to make it easier and more correct.

Along the way, I’ve tripped over some really smart people doing some amazing work to make Perl more modern and more usable.  They seem to be people with great ideas who didn’t want to wait for Perl 6 and went and did something.  That’ been great to find and I’m learning a ton of things.

Maybe it’s interesting to hear how a competent Perl programmer found these new things, and that’s what I’ll start with today.