Your task can be more easily handled by using a hash rather than an array. When you say that the data is in an tab-separated array, do you mean that you have a file which consists of tab-separated lines containing the data? Since you only want to keep one entry for each ID, then a hash containing a reference to an array holding the organism and number values will be a good way to go. Do you have any code we can help you with? Check out the
Tutorials section if you need to read up on the data types.
Update: A skeleton which will read in your data line by line...
#!/usr/bin/perl
use warnings;
use strict;
my %proteins;
while (my $line = <DATA>) {
chomp $line;
my ($pro, $org, $value) = split '\s+, $line; # \s+ : one or more wh
+itespace chars
}
__DATA__
protein1 organism1 0.843534
protein2 organism2 2.45
protein3 organism3 9.5322
protein4 organism4 0.3475474
protein1 organism6 9.4534
protein2 organism7 0.43534
protein2 organism8 1.2434
protein3 organism9 0.000003
protein3 orgnanism10 1.23325