| #!/usr/bin/perl -w | 
 |  | 
 | use strict; | 
 | use warnings; | 
 |  | 
 | my @menu = (); | 
 | my $output = $ARGV[0]; | 
 |  | 
 | open my $tmp, '>', "$output.tmp"; | 
 |  | 
 | while (<STDIN>) { | 
 | 	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"; |