Commit | Line | Data |
772ab650 |
1 | #!/usr/bin/perl |
2 | # Finds the files that have the same name, case insensitively, |
3 | # in the current directory and its subdirectories |
4 | |
5 | use warnings; |
6 | use strict; |
7 | use File::Find; |
8 | |
9 | my %files; |
10 | find(sub { |
11 | my $name = $File::Find::name; |
12 | # Assumes that the path separator is exactly one character. |
13 | $name =~ s/^\.\..//; |
14 | push @{$files{lc $name}}, $name; |
15 | }, '.'); |
16 | |
17 | my $failed; |
18 | |
19 | foreach (values %files) { |
20 | if (@$_ > 1) { |
21 | print join(", ", @$_), "\n"; |
22 | $failed++; |
23 | } |
24 | } |
25 | |
26 | print "no similarly named files found\n" unless $failed; |