#!/usr/bin/env ruby require "cgi" require "erb" def describe_exception(cgi, exception) title = "500 Server Error" cgi.out("status" => "SERVER_ERROR") { cgi.html { cgi.head { cgi.title { title } } + cgi.body { cgi.h1 { title } + cgi.pre { CGI.escapeHTML(exception.to_s) } } } } end cgi = CGI.new("html4") begin code = STDIN.read output = ERB.new(code).result(binding) cgi.print cgi.header cgi.print output rescue Exception => exception describe_exception(cgi, exception) end