Hi Brian,
Yes, it is possible:
Short answer:
Create a subclass of Kelp that disables the routes module, then use it in your utility scripts.
Longer answer:
Kelp is a modular framework and its modules can be enabled or disabled using its configuration. There are only two modules that are always loaded - config and routes. You need to keep config but disable routes.
Create a subclass of Kelp that overrides the _load_routes method:
# Kelp/Blank.pm
package Kelp::Blank;
use base 'Kelp';
sub _load_routes {}
1;
Then use this class in your utility scripts, cron jobs, etc.
use Kelp::Blank;
my $k = Kelp::Blank->new( mode => 'cli' ); # Will load config/cli.pl
print $k->config('bar');
print $k->config('foo');
You can disable all modules or keep some (like access to database).
I hope that helps.
Regards,
Stefan