my $db = 'C:\Inetpub\wwwroot\cgi-bin\test4.txt'; open(DATA, "$db") || die "Can not open: $!\n"; my @dat = (); close(DATA); open(DATA, "$db") || die "NO GO: $!\n"; my %seen; while (){ my ($value,$key) = $_ =~ /^([^\|]+)\|(.*)/; my ($key,$value) = split(/\|/,$_,2); next if $seen{$value}; print "$key: $value\n"; push(@files,$key); my @files = (); print DATA @files; $seen{$value}++; } close(DATA);