#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; my @unpairedSidBinder = ( 'sid 1|FLPSDFFPS LLWFHISCL', 'sid 1|WIRTPPAYR YVNVNMGLK', 'sid 2|FLPSDFFPS LLWFHISCL', 'sid 2|FLPSDFFPS ELMNLATWV', 'sid 7|FLPSDFFPS ATVELLSFL', 'sid 7|VWIRTPPAY LLSFLPSDF', 'sid 9|VWIRTPPAY LLDTASALY', 'sid 9|FGRETVLEY PSDFFPSVR', ); my @combined = (); my $last = q(); for my $item (@unpairedSidBinder) { my ($left, $right) = split /\|/, $item; if ($left eq $last) { $combined[-1] .= " $right"; } else { push @combined, "$left|$right"; $last = $left; } } say for @combined; #### ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,