Разбейте строку на символы, затем соедините их с тем, что вы хотите между ними;также добавьте, что
my $res = ( join '%', split //, $string ) . '%';
Простым способом с регулярным выражением
$string =~ s/(.)/$1%/g;
, где с модификатором /r
вы можете сохранить $string
и вернуть вместо него измененную строку
my $res = $string =~ s/(.)/$1%/gr;