in reply to Die vs. Exit
Both die and exit usually stop execution of the entire program, the difference being that die can be caught in an eval and thus serve as an exception mechanism. You likely want neither of these. All you have to do is exit your current callback with return after creating the message box. When you create it you can give it a callback for the confirmation button that clears the input field with the wrong data and puts the focus on it so the user immediately knows where to retry.
Sorry for not providing any code here, it's been over a decade since I last used Perl/Tk and I'd have to look up all the API again. Hope it helps anyway.