1# SPDX-License-Identifier: CC0-1.0 2#!/usr/bin/env perl 3# 4# checkincludes: Find files included more than once in (other) files. 5 6foreach $file (@ARGV) { 7 open(FILE, $file) or die "Cannot open $file: $!.\n"; 8 9 my %includedfiles = (); 10 11 while (<FILE>) { 12 if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) { 13 ++$includedfiles{$1}; 14 } 15 } 16 foreach $filename (keys %includedfiles) { 17 if ($includedfiles{$filename} > 1) { 18 print "$file: $filename is included more than once.\n"; 19 } 20 } 21 22 close(FILE); 23} 24