36 lines
		
	
	
		
			864 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			864 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl -i.bak
 | 
						|
#
 | 
						|
# [Re-]write POD to create cross-links between Required MIBs, GLOBALS
 | 
						|
#     and TABLE METHODS sections.
 | 
						|
# This is a horrible jumble of heuristics, but works with
 | 
						|
# all of the existing files. It has only one false positive: HP.pm's
 | 
						|
# mention of an SNMP::Info version number.
 | 
						|
#
 | 
						|
$section = undef;
 | 
						|
$waiting = 0;
 | 
						|
while (<>) {
 | 
						|
	if (eof) {
 | 
						|
		$section = undef;
 | 
						|
		$waiting = 0;
 | 
						|
	}
 | 
						|
	if (/^=head(\d)/) {
 | 
						|
		$sl = $1;
 | 
						|
		if ($sl <= $level) {
 | 
						|
			$section = undef;
 | 
						|
		}
 | 
						|
		if (/(TABLE METHODS|GLOBALS|Required MIBs)/) {
 | 
						|
			$section = $1;
 | 
						|
			$level = $sl;
 | 
						|
			if ($section eq 'TABLE METHODS' || $section eq 'GLOBALS') {
 | 
						|
				$waiting = 1;
 | 
						|
			}
 | 
						|
		}
 | 
						|
		if ($waiting && /imported/i) {
 | 
						|
			$waiting = 0;
 | 
						|
		}
 | 
						|
	} elsif (defined($section) && !$waiting && /^[^=]/ && /SNMP::Info/) {
 | 
						|
		s,(?:L<)?(SNMP::Info[a-zA-Z0-9:]*)(?:/[^>]+)?(?:>)?,L<$1/"$section">,g;
 | 
						|
	}
 | 
						|
	print;
 | 
						|
}
 |