Ya lo dice el manual del módulo: si el usuario elige una opción que no está en el menú, devolverá un valor indefinido.
Lo que puedes hacer es meter la llamada al menú dentro de un bucle que no termine mientras el usuario no haya metido un valor válido.
Código Perl:
Ver originaldo {
# llamamos al menú
} until ($answer);