in reply to SQL Results
That would be the easiest approach -- let the database do the work. You could do the same work in perl using a hash to keep track of the addresses, ingoring the values of the hash.select distinct E_mail from table where <conditions>
Using a hash where you only care about the keys (setting the values to 1) is a common idiom for ensuring uniqueness from a list when you don't care about the order. A concise form of this idiom would bemy %emailhash = (); foreach $row (result_set) { $emailhash{$row->{email}} = 1; } my @unique_emails = keys %emailhash;
The latter case can be used if you want the list ordered, and can extract the order from the values of the entries themselves.%temp_hash = map {$_ => 1} @non_unique_list; @unique_list = keys (%temp_hash); # or @unique_list = sort keys (%temp_hash);
|
|---|