$data =~ s/(....)(....)/$1/g; #### @characters = =~ /(.) /g; while(@characters) { push @pairs, [shift @characters, shift @characters] } @selection = map { $pairs[$_*2] } (0..@characters/2);