my $string = "BEHACJBDLCENADFEGOFHQAGIHJRBIKJLSCKMLNTDMOFNPOQTGPRIQSKRTMPS"; my @array = (undef); push @array, [0, map {ord ($_) - 64} split '', substr $string, 0, 3, '' ] while length $string; printf "%02d %02d %02d\n", @{$_}[1..3] for @array[1..$#array];