Nothing to do with your question ...
Looking at the code I see a frightening swarm of indecipherable characters. I would suggest extracting the special codes into predefined variables. That way you have something meaningful, and it becomes easier to verify they contain what you want them to contain.
Readonly my %CHINESE_WORDS =>
( perl => 'Ти+п АКБ:',
monk => 'Ти+п АКБ:'
Readonly my %PROTEINS =>
( A => 'Ти+п АКБ:',
C => 'Ти+п АКБ:',
G => 'Ти+п АКБ:',
T => 'Ти+п АКБ:',
Obviously I reused the same string over and over, but I think you can see how defining constants would make the strings easier to verify, and the main code shorter and clearer.
As Occam said: Entia non sunt multiplicanda praeter necessitatem.