use strict; my $newdata = '124|20030812|uiy|kjh|87'; my $db = "textfile.txt"; open (DATAFILE, "+<$db") or die $!; my $key = join("|", (split /\|/, $newdata)[1,4]); while () { chomp; if (join("|", (split /\|/)[1,4]) eq $key) { close DATAFILE; exit; } } print DATAFILE $newdata,"\n"; close DATAFILE;