¿Cómo puedo ignorar los acentos al comparar cadenas en Perl?

Tengo esta aplicación de prueba donde hago coincidir lo que la gente escribe con la respuesta correcta. Por ahora, lo que hago es básicamente eso:

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

Es bueno, como si la respuesta fuera "pez", el usuario puede escribir "un pez" y contar una buena respuesta.

El problema al que me enfrento es que, bueno, mis usuarios son franceses y me gustaría poder aceptar, digamos, un usuario que escribe "taton", y la respuesta es "tâton".

Entonces, lo que podría hacer es:

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

Y en mi rutina de verificación, haga un:

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

y algo similar con la respuesta.

No me gusta, porque tengo que codificar las cosas, y el día que decida dejar el mundo ISO-8859-15 por el mundo UTF-8, estoy condenado.

Entonces, estoy buscando una manera de comparar cadenas, que hará"tâton" eq "taton", "maçon" eq "macon" o"macon" =~ /maçon/ ser cierto.