my @resilt = (); while () { my @a = (); @a = &get_data_path_report ($_); my %seen = (); push (@result, @a); @result = grep { !$seen{$_}++ } @result; } shift(@result); #### push (@result, @a); @result = grep { !$seen{$_}++ } @result; #### sub get_first_elements_of_string { my @a = (split (' ' ,"$_[0]")); return $a[0]; } #### sub get_first_elements_of_string { my ($first) = split ' ', $_[0], 2; return $first; }