Markup-Perl

 view release on metacpan or  search on metacpan

lib/Markup/Perl.pm  view on Meta::CPAN

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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!&lt;SCRIPT&gt;!$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 1.007 second using v1.01-cache-2.11-cpan-49f99fa48dc )