Skip to content

Instantly share code, notes, and snippets.

@brianmed
Created June 16, 2013 00:47
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save brianmed/5790230 to your computer and use it in GitHub Desktop.
#!/opt/perl
use Mojolicious::Lite;
plugin 'tt_renderer';
app->renderer->default_handler('tt');
sub eval_me {
my $route = shift;
my $sub = shift;
my $ret;
eval {
$ret = $sub->($route);
};
if ($@) {
$route->app->log->debug($@);
$ret = $route->render("exception", msg => $@);
}
return($ret);
}
my %routes = (
'/' => sub {
my $self = shift;
die("Here") if $self->param("exception");
$self->render("slash");
},
);
get '/' => sub {
my $route = shift;
eval_me($route, $routes{'/'});
};
app->start;
__DATA__
@@ slash.html.tt
Hello world.
@@ exception.html.tt
It exploded.
[% msg | html %]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment