8
my $last_nl_count_level;
11
my $last_bl_count_level;
14
(my $s = $_[0]) =~ s{\#(.*)}{/"$1"};
21
while ($s =~ /([<>])\1*/g) {
22
my $level = length $&;
23
if ($level > $max_level) {
28
my $times = $max_level + 1;
32
return $tag . ('<' x $times) . $s . ('>' x $times);
35
print "=encoding utf-8\n\n";
39
# strip the leading U+FEFF byte in MS-DOS text files
40
my $first = ord(substr($_, 0, 1));
41
#printf STDERR "0x%x", $first;
42
#my $second = ord(substr($_, 2, 1));
43
#printf STDERR "0x%x", $second;
49
s{\[(http[^ \]]+) ([^\]]*)\]}{$2 (L<$1>)}gi;
50
s{ \[\[ ( [^\]\|]+ ) \| ([^\]]*) \]\] }{"L<$2|" . fmt_pos($1) . ">"}gixe;
51
s{<code>(.*?)</code>}{fmt_mark('C', $1)}gie;
52
s{'''(.*?)'''}{fmt_mark('B', $1)}ge;
53
s{''(.*?)''}{fmt_mark('I', $1)}ge;
54
if (s{^\s*<[^>]+>\s*$}{}) {
67
for my $i (0..length($_) - 1) {
68
my $chr = substr($_, $i, 1);
69
warn "chr ord($i): ".ord($chr)." \"$chr\"\n";
76
if (/(=+) (.*) \1$/) {
77
#warn "HERE! $_" if $. == 1;
78
my ($level, $title) = (length $1, $2);
81
print "\n=head$level $title\n\n";
82
} elsif (/^(\#+) (.*)/) {
83
my ($level, $txt) = (length($1) - 1, $2);
84
if (defined $last_nl_count_level && $level != $last_nl_count_level) {
87
$last_nl_count_level = $level;
88
$nl_counts[$level] ||= 0;
89
if ($nl_counts[$level] == 0) {
93
print "\n=item $nl_counts[$level].\n\n";
95
} elsif (/^(\*+) (.*)/) {
96
my ($level, $txt) = (length($1) - 1, $2);
97
if (defined $last_bl_count_level && $level != $last_bl_count_level) {
100
$last_bl_count_level = $level;
101
$bl_counts[$level] ||= 0;
102
if ($bl_counts[$level] == 0) {
105
$bl_counts[$level]++;
106
print "\n=item *\n\n";
117
while (defined $last_nl_count_level && $last_nl_count_level >= 0) {
119
$last_nl_count_level--;
121
undef $last_nl_count_level;
124
while (defined $last_bl_count_level && $last_bl_count_level >= 0) {
126
$last_bl_count_level--;
128
undef $last_bl_count_level;