On Friday 20 May 2011 21:01:22 Naveed Massjouni wrote:
On Fri, May 20, 2011 at 2:57 PM, Nick Knutov <mail@knutov.com> wrote:
You don't need the $first in your case:
before sub { if (not $cache->{statuses}) { $cache->{statuses} = ...; _load_cache(); } }
Or perhaps simpler still: before sub { $cache->{statuses} ||= _load_cache(); };
If you are not running in a CGI environment, then you should be able to just do:
use Dancer; # put this in the file scope $cache->{statuses} = ...; _load_cache(); # now declare routes
I believe the lines in the file scope will only get run once, running in a persistent environment such as Plack servers or FastCGI.
Yep - that's how I'd do it. That'll run at runtime once as the app is starting up, job done. This is what I did in DancerJukebox to add some code to run at app startup to fork a new process to do stuff in the background, and it works a treat. Cheers Dave P -- David Precious ("bigpresh") http://www.preshweb.co.uk/ "Programming is like sex. One mistake and you have to support it for the rest of your life". (Michael Sinz)