use HTML::Entities qw( encode_entities ); use URI::Escape qw( uri_escape ); my %seen_users; my %seen_numbers; for my $rec (@$sqlinfo){ next if $seen_users{ $rec->{user} }++ || $seen_numbers{ $rec->{number} }++; $userfinal .= sprintf( '' . '%s' . '%s' . '%s' . '%s' . '', uri_escape($rec->{user}), encode_entities($rec->{user}), encode_entities("$rec->{lastn}, $rec->{first}"), encode_entities($rec->{tel}), encode_entities($rec->{email}), ); }