bash$ plackup -e 'use warnings; INIT{ warn "foo"; }; sub { warn "here"; return [200, [], []] };'
Too late to run INIT block at (eval 7) line 1.
HTTP::Server::PSGI: Accepting connections at http://0:5000/
here at (eval 7) line 1.
127.0.0.1 - - [20/Nov/2014:14:18:08 +0200] "GET / HTTP/1.1" 200 - "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:33.0) Gecko/20100101 Firefox/33.0"
####
use Init::Queue sub {
get_dbh();
load_file();
build_cache();
}; # postpone till explicitly called
####
Init::Queue->startup();
# this executes all startup blocks,
# in order of appearance