package SL::Template::LaTeX;
-use vars qw(@ISA);
-
-use SL::Template;
-@ISA = qw(SL::Template::Simple);
+use parent qw(SL::Template::Simple);
use strict;
for (my $i = 0; $i < scalar(@{$ary}); $i++) {
# do magic markers
- $form->{"__first__"} = $i == 1;
+ $form->{"__first__"} = $i == 0;
$form->{"__last__"} = ($i + 1) == scalar(@{$ary});
$form->{"__odd__"} = (($i + 1) % 2) == 1;
$form->{"__counter__"} = $i + 1;
my $keyword_pos = $pos - 1 + $tag_start_len;
- if ((substr($text, $keyword_pos, 2) eq 'if') || (substr($text, $keyword_pos, 3) eq 'for')) {
+ if ((substr($text, $keyword_pos, 2) eq 'if') || (substr($text, $keyword_pos, 3) eq 'foreach')) {
$depth++;
} elsif ((substr($text, $keyword_pos, 4) eq 'else') && (1 == $depth)) {
$comment_start = '\s*%';
} elsif (ref $self eq 'SL::Template::HTML') {
$comment_start = '\s*<!--';
- $comment_end = '>\s*';
+ $comment_end = '(?:--)?>\s*';
} else {
$comment_start = '\s*\#';
}
while ($i < $num_lines) {
my $line = $lines->[$i];
- if ($line !~ m/^${comment_start}\s*config\s*:(.*)${comment_end}$/i) {
+ if ($line !~ m/^${comment_start}\s*config\s*:(.*?)${comment_end}$/i) {
$i++;
next;
}
$self->{"error"} = "$!";
return 0;
}
+ binmode IN, ":utf8" if $::locale->is_utf8;
my @lines = <IN>;
close(IN);
return 0;
}
+ binmode OUT, ":utf8" if $::locale->is_utf8;
print(OUT $new_contents);
if ($form->{"format"} =~ /postscript/i) {