#!/usr/bin/perl -w use strict; use warnings; my @menu = (); my $output = $ARGV[0]; open my $tmp, '>', "$output.tmp"; while () { next if (/^\\input texinfo/../\@node Top/); next if (/^\@bye/ || /^\.ft/); if (s/^\@top (.*)/\@node $1,,,Top/) { push @menu, $1; } s/\(\@pxref\{\[(URLS|REMOTES)\]}\)//; s/\@anchor\{[^{}]*\}//g; print $tmp $_; } close $tmp; print '\input texinfo @setfilename gitman.info @documentencoding UTF-8 @dircategory Development @direntry * Git Man Pages: (gitman). Manual pages for Git revision control system @end direntry @node Top,,, (dir) @top Git Manual Pages @documentlanguage en @menu '; for (@menu) { print "* ${_}::\n"; } print "\@end menu\n"; open $tmp, '<', "$output.tmp"; while (<$tmp>) { print; } close $tmp; print "\@bye\n"; unlink "$output.tmp";