in reply to Unmatched right curly bracket
Is your tab key broken? In a pinch the space bar will work.
This is one good reason for composing well formatted code. It's a lesson that will keep repeating itself until you take notice. Tabs help you to see block depth, among other things. Visual distinction in block depth helps in chasing down or even avoid creating bracket matching issues. If your code had been well indented the missing bracket would have been much more obvious.
While you don't have to live with all the advice in this document, perlstyle can give you some idea of what constitutes a reasonable starting point in developing a style that works for you