use strict;
my $file = 'data.txt';
my $thiscount;
my $fullcount;
my $max = 10; # change this to, say, 10000
my %lines;
open(INPUT, $file);
while(){
chomp;
if(exists $lines{$_}){
print "duplicate line (on read):$_\n";
}
else{
$lines{$_} = 1;
}
$thiscount ++;
$fullcount ++;
if($thiscount >= $max){
my $checkcount=0;
open(CHECK, $file);
while(){
$checkcount ++;
if($checkcount > $fullcount){
chomp;
if(exists $lines{$_}){
print "duplicate line (on check):$_\n";
}
}
}
undef %lines;
$thiscount = 0;
}
}