Según la documentación del módulo
Mail::IMAPClient, no necesitas crear un objeto IO::Socket::SSL, sino que con poner la opción Ssl => 1, ya es suficiente.
Hay que pensar la jugada... podemos optar por la táctica de ver qué nuevos mensajes han llegado desde una determinada fecha (método since() o sentsince()), extraerles el asunto (método subject()), y si coincide con lo que queremos, lo procesamos y luego borramos el mensaje (delete_message()). Y purgamos la carpeta con expunge().
Otra táctica: si sabemos que es un buzón de correo solo para nosotros, pues recuperamos la lista de todos los mensajes, los procesamos y luego los borramos.
O también: usar search() indicando qué cadena o subcadena de caracteres estás esperando en el asunto.
El módulo si que puede ser algo complicado de manejar. Puedes probar a usar
Net::IMAP::Simple, que parece un poco más simple.