1#!/usr/bin/perl 2# 3# checkincludes: Find files included more than once in (other) files. 4# Copyright abandoned, 2000, Niels Kristian Bech Jensen <[email protected]>. 5 6sub usage { 7 print "Usage: checkincludes.pl <file list>\n"; 8 exit 1; 9} 10 11if ($#ARGV < 0) { 12 usage(); 13} 14 15foreach $file (@ARGV) { 16 open(FILE, $file) or die "Cannot open $file: $!.\n"; 17 18 my %includedfiles = (); 19 20 while (<FILE>) { 21 if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) { 22 ++$includedfiles{$1}; 23 } 24 } 25 26 close(FILE); 27 28 foreach $filename (keys %includedfiles) { 29 if ($includedfiles{$filename} > 1) { 30 print "$file: $filename is included more than once.\n"; 31 } 32 } 33} 34