in reply to exit inside an eval statement

from perldoc -f exit

Don't use "exit" to abort a subroutine if there's any chancethat someone might want to trap whatever error happened. Use "die" instead, which can be trapped by an "eval".

Hope this helps..