Markup-Perl
view release on metacpan or search on metacpan
lib/Markup/Perl.pm view on Meta::CPAN
use CGI::Carp qw(fatalsToBrowser set_message);
my %headers = (-type=>'text/html', -cookie=>[], -charset=>'UTF-8'); # defaults
my $output = '';
my $print_start = ";\nprint substr(<<'mupl_EOS', 0, -1);\n";
my $print_end = "\nmupl_EOS\n";
my $in_file = $0;
BEGIN { # catch prints into a variable, and dump at the end
{ package Buffer;
sub TIEHANDLE { my ($class, $b) = @_; bless $b => $class; }
sub PRINT { my $b = shift; $$b .= join '', @_; }
sub PRINTF { my $b = shift; my $fm = shift; $$b .= sprintf($fm, @_);}
} tie *STDOUT=>"Buffer", \$output;
set_message(sub{ # for pretty CGI::Carp output
my $message = shift;
$message =~ s!<SCRIPT>!$in_file!g;
$output = qq{\n\n<p style="font:14px arial;border:2px dotted #966;padding:10px">
<em>There was an error with "$in_file"</em><br />$message</p>};
});
( run in 0.483 second using v1.01-cache-2.11-cpan-49f99fa48dc )