sub ntuples{ my( $n, $s ) = @_; my $b = $n -1; my $n2 = length( $s ) - $n +1; return unpack "(A$n X$b)$n2", $s; } ;; $genome = 'AACCCDGYAEELPSWWYAOOLLLSSBBBDDD';; print join ' - ', ntuples( $_, $genome ) for 2 .. 5;; AA - AC - CC - CC - CD - DG - GY - YA - AE - EE - EL - LP - PS - SW - WW - WY - YA - AO - OO - OL - LL - LL - LS - SS - SB - BB - BB - BD - DD - DD AAC - ACC - CCC - CCD - CDG - DGY - GYA - YAE - AEE - EEL - ELP - LPS - PSW - SWW - WWY - WYA - YAO - AOO - OOL - OLL - LLL - LLS - LSS - SSB - SBB - BBB - BBD - BDD - DDD AACC - ACCC - CCCD - CCDG - CDGY - DGYA - GYAE - YAEE - AEEL - EELP - ELPS - LPSW - PSWW - SWWY - WWYA - WYAO - YAOO - AOOL - OOLL - OLLL - LLLS - LLSS - LSSB - SSBB - SBBB - BBBD - BBDD - BDDD AACCC - ACCCD - CCCDG - CCDGY - CDGYA - DGYAE - GYAEE - YAEEL - AEELP - EELPS - ELPSW - LPSWW - PSWWY - SWWYA - WWYAO - WYAOO - YAOOL - AOOLL - OOLLL - OLLLS - LLLSS - LLSSB - LSSBB - SSBBB - SBBBD - BBBDD - BBDDD