Como posso ignorar acentos ao comparar seqüências de caracteres em Perl?

Eu tenho esse aplicativo de questionário, onde identifico o que as pessoas digitam com a resposta certa. Por enquanto, o que faço é basicamente isso:

if ($input =~ /$answer/i) {
     print "you won";
}

É legal, como se a resposta fosse "peixe", o usuário pode digitar "um peixe" e receber uma boa resposta.

O problema que estou enfrentando é que, bem, meus usuários são franceses e gostaria de aceitar, digamos, um usuário digitando "taton" e a resposta sendo "tâton".

Então, o que eu poderia fazer é:

use POSIX qw(locale_h);
use locale;
setlocale(LC_TYPE, "fr_FR.ISO8859-15");
setlocale(LC_COLLATE, "fr_FR.ISO8859-15");

E na minha rotina de verificação, faça um:

$input = lc($input);
$input =~ tr/àáâãäåçèéêëìíîïñòóôõöùúûüýÿ/aaaaaaceeeeiiiinooooouuuuyy/;

e algo da mesma forma com a resposta.

Não gosto, porque tenho que codificar as coisas e, no dia em que decidi que estou deixando o mundo ISO-8859-15 para o mundo UTF-8, estou condenado.

Então, eu estou procurando uma maneira de comparar strings, que fará"tâton" eq "taton", "maçon" eq "macon" ou"macon" =~ /maçon/ seja verdadeiro.

questionAnswers(2)

yourAnswerToTheQuestion