in reply to eval with semicolon

Because "eval" is function - you could write it as :
eval ({ ... });
But as with many more Perl functions parenthesis () are optional. Other way of calling eval is with string as parameter.

PS. You should use <code> ... </code> for writing perl code ...


Have you tried freelancing? Check out Scriptlance - I work there.