Como substituir uma string e preservar sua letra maiúscula / minúscula
Eu quero substituir uma string por outra em Perl; ambos são do mesmo comprimento. Quero substituir todas as ocorrências da sequência (sem distinção entre maiúsculas e minúsculas), mas quero que o caso da letra seja preservado. Portanto, se a primeira letra for maiúscula, a primeira letra após a substituição também será maiúscula.
Por exemplo, se eu quiser substituir "foo" por "bar", quero que
foo ==> bar
Foo ==> Bar
FOO ==> BAR
Existe uma maneira simples de fazer isso no Perl?