http://www.perlmonks.org?node_id=596852


in reply to create unique array

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