Annotation of doc/help/rebuildLabelHash.pl, revision 1.1
1.1 ! bowersj2 1: #!/usr/bin/perl
! 2:
! 3: use strict;
! 4: use GDBM_File;
! 5:
! 6: my $dirprefix = "/home/httpd/html/adm/help/";
! 7:
! 8: # if the topic hash exists, kill it
! 9: unlink 'fragmentLabels.gdbm' if ( -e $dirprefix . 'fragmentTopics.gdbm' );
! 10:
! 11: tie (my %fragmentLabels, 'GDBM_File', $dirprefix . 'fragmentLabels.gdbm', 1, 0);
! 12: my $error = 0;
! 13:
! 14: chdir $dirprefix;
! 15:
! 16: while (<*.tex>)
! 17: {
! 18: my $file;
! 19: $file = $_;
! 20: open F, $file;
! 21: my $contents = join("\n", <F>);
! 22: my $label;
! 23:
! 24: # Search for labels, of the form '\label{labelname}'
! 25: foreach $label ( $contents =~ /\\label\{([^}]*)\}/g )
! 26: {
! 27: if (exists $fragmentLabels{$label} )
! 28: {
! 29: print "***ERROR: '$label' in both $fragmentLabels{$label} " .
! 30: "and $file. \n";
! 31: $error = 1;
! 32: }
! 33: $fragmentLabels{$label} = $file;
! 34: }
! 35: }
! 36:
! 37: if ($error == 0)
! 38: {
! 39: print "There were no duplicate labels. Database rebuilt.\n";
! 40: }
! 41: else
! 42: {
! 43: print "There were errors. You must correct the duplicate labels.\n";
! 44: }
! 45:
! 46: untie %fragmentLabels;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>