@triplets0 = $line =~ /(...)/g;
@triplets1 = substr($line, 1) =~ /(...)/g;
@triplets2 = substr($line, 2) =~ /(...)/g;
####
push(@triplets, [ substr($line, $_) =~ /(...)/g ]) for 0..2;
####
$group_size = 3;
push(@groups, [ substr($line, $_-1) =~ /(.{$group_size})/g ])
for 1..$group_size;
####
$line = 'atccatccctttaat';
push(@triplets, [ substr($line, $_) =~ /(.{$_})/g ]) for 0..2;
require Data::Dumper;
print(Data::Dumper::Dumper(\@triplets));
__END__
output
======
$VAR1 = [
[
'atc',
'cat',
'ccc',
'ttt',
'aat'
],
[
'tcc',
'atc',
'cct',
'tta'
],
[
'cca',
'tcc',
'ctt',
'taa'
]
];