use strict; use warnings; open(my $fh, "<", "input.txt") or die "cannot open < input.txt: $!"; my %duplicates; while (my $line = <$fh>) { chomp $line; my ($fname, $fext) = split(' ',$line); $duplicates{$fname}{$fext}++; } #### /foo/bar/baz/123 aaa /foo/bar/baz/123 aab /foo/bar/baz/123 aac /foo/bar/baz/124 aaa /foo/bar/baz/124 aab