1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#!/usr/bin/perl -w
my @files = `grep -l "^.TH" *`;
chomp(@files);
my($filename);
foreach $filename (@files) {
print "Fixing $filename\n";
my $file = `cat $filename`;
# Replacing numbered characters by their troff equivalents
$file =~ s/\xa0/\\ /g;
$file =~ s/\xad//g;
$file =~ s/\xae/\\[rg]/g;
$file =~ s/\xb1/\\[+-]/g;
$file =~ s/\xd6/\\[:O]/g;
$file =~ s/\xd7/\\[mu]/g;
$file =~ s/\xe4/\\[:a]/g;
$file =~ s/\xe5/\\[oa]/g;
$file =~ s/\xe9/\\['e]/g;
$file =~ s/\xf6/\\[:o]/g;
$file =~ s/\>/>/g;
$file =~ s/\</</g;
$file =~ s/\&ld;/</g; # in epmd.1 &ld; is used instead of <
$file =~ s/\&addr;/\&addr,/g; # &addr is a C-function arg (erl_connect.3 and ei_connect.3)
$file =~ s/(^.TH\s+\w*\s+)3\s/$+3erl /;
$file =~ s/(\S)\(3\)/$+(3erl)/g;
$file =~ s/(.SH\s+)MODULE/$+NAME/;
$file =~ s/(.SH\s+)APPLICATION/$+NAME/;
open OUTPUT, ">$filename.temp" or die "Can't open $filename.temp\n";
print OUTPUT "$file";
close OUTPUT;
unlink $filename or die "Can't delete $filename\n";
rename "$filename.temp", "$filename" or die "Can't rename $filename\n";
}
|