package Text::Trac::Pre; use strict; use base qw(Text::Trac::BlockNode); sub init { my $self = shift; $self->pattern(qr/^{{{$/xms); return $self; } sub parse { my ( $self, $l ) = @_; my $c = $self->{context}; my $pattern = $self->pattern; $l =~ /$pattern/ or return $l; my $match = $1; if ( $l =~ /^{{{$/ ){ $c->htmllines('
');
}
while($c->hasnext){
my $l = $c->shiftline;
if ( $l =~ /^}}}$/) {
$c->htmllines('');
last;
}
else {
$c->htmllines($self->escape($l));
}
}
return;
}
1;