Hi Jun,
Here is another way to solve your problem
[code]
@my_array = qw (one one two three three four);
my @unique_items = ();
foreach my $item (@my_array) {
#grep in scalar context returns how many times $item is found in the
@my_array
my $count = grep $item eq $_, @my_array;
#Add to array '@unique_items' only if $count is 1. This means ignore
duplicates
push @unique_items, $item if $count == 1;
}
#print the unique items
print join ',', @unique_items;
[/code]
[output]
two,four
[/output]
best,
Shaji
-------------------------------------------------------------------------------
Your talent is God's gift to you. What you do with it is your gift back to God.
-------------------------------------------------------------------------------
________________________________
From: Jun Meng <[email protected]>
To: [email protected]
Sent: Sunday, 20 January 2013 8:39 AM
Subject: how to find item that happened once in an array
Hi Guys
I need to extract items that happened once from an array. Here is an example
@my_array=qw (one, one, two, three, three, four);
The expected result: @new_array=("two", "four").
Could you give me some suggestion? The hash could remove duplicates, and
return ("one", "two", "three", "four"), which is not I want. I just want
the items that don't have any duplicates.
Thanks
Jun
--
Jun Meng
257# marine science building
Department of Marine Science
University of Georgia
Cell Phone:1-706-248-2871
Office:1-706-542-1122