#!/usr/local/bin/perl use strict; use warnings; sub main() { my $hit_header = 0; my $hit_option = 0; my $header_len; while (<>) { s/^1\. \@\@TITLE\@\@/ /i; if (m/^(\d\.)(\d\.)(\d\.)?\s/) { # Remove the first digit as it's the # config file section in the User Manual. s/^(\d\.)//; # If it's a section header, uppercase it. $_ = uc() if (/^\d\.\s+/); # Remember to underline it. $hit_header = 1; $header_len = length($_); } s/^/# /; # XXX: someone should figure out what this stuff # is supposed to do (and if it really does that). s/^# #/####/ if /^# #{12,}/; s/^.*$// if $hit_option; $hit_option = 0; s/^\n//; s/^#\s*-{20,}//; s/ *$//; $hit_option = 1 if s/^#\s+@@//; print; if ($hit_header) { # The previous line was a section # header so we better underline it. die "Invalid header length" unless defined $header_len; print "# " . "=" x $header_len . "\n"; $hit_header = 0; }; } } main();