in reply to How to delete lines with similar data

If you want to get unique records, the idiomatic way in Perl is by using a hash.

I don't know what you want to accomplish with your ($b, $b, $b, $b, $base_email, $b, $b, $b) = split but I assume that you are using split to get the fields into the scalars you want to process.
Here is a simple test case, that is using DATA as input and STDOUT as output.
There is a duplicate in my sample DATA, and it is skipped by the hash mechanism.
#!/usr/bin/perl -w use strict; my @regfile = <DATA>; my %uniques = (); foreach my $i (@regfile) { my ($email, $name, $date, $format) = split (/\|/, $i); $uniques{$email.$name.$date.$format}++; print "$email\|$name\|$date\|$format" unless $uniques{$email.$name.$date.$format} > 1; } __DATA__ dummy@fake.com|John|10-10-2000|XZXXXXXXXXX dummy2@fake.com|Joe|11-10-2000|XXXXXXXXXXX alone@dunno.com|Jim|10-09-2000|YYYYYYYYYYYYY dummy2@fake.com|Joe|11-10-2000|XXXXXXXXXXX
Output:
dummy@fake.com|John|10-10-2000|XZXXXXXXXXX dummy2@fake.com|Joe|11-10-2000|XXXXXXXXXXX alone@dunno.com|Jim|10-09-2000|YYYYYYYYYYYYY
The key to the hash should be the concatenation of all pieces of information that will make your record unique.

Before I forget. Did you remember to use strict and  -w ?

Hope it was helpful.
_ _ _ _ (_|| | |(_|>< _|