Main code has high complexity score (400) at line 1, column 1. Consider refactoring. (Severity: 3) Regular expression without "/x" flag at line 1121, column 33. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 1130, column 33. See page 236 of PBP. (Severity: 3) Code structure is deeply nested at line 1651, column 41. Consider refactoring. (Severity: 3) Reused variable name in lexical scope: $sync at line 1823, column 2. Invent unique variable names. (Severity: 3) Hard tabs used at line 1849, column 22. See page 20 of PBP. (Severity: 3) Reused variable name in lexical scope: $sync at line 1933, column 2. Invent unique variable names. (Severity: 3) Regular expression without "/x" flag at line 1982, column 29. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 2004, column 31. See page 236 of PBP. (Severity: 3) Reused variable name in lexical scope: $sync at line 2013, column 2. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $sync at line 2036, column 2. Invent unique variable names. (Severity: 3) Regular expression without "/x" flag at line 2069, column 30. See page 236 of PBP. (Severity: 3) Reused variable name in lexical scope: $sync at line 2080, column 53. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $sync at line 2088, column 2. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $sync at line 2136, column 2. Invent unique variable names. (Severity: 3) Regular expression without "/x" flag at line 2172, column 26. See page 236 of PBP. (Severity: 3) Reused variable name in lexical scope: $nb_errors at line 2220, column 2. Invent unique variable names. (Severity: 3) Too many arguments at line 2256, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 2274, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 2284, column 1. See page 182 of PBP. (Severity: 3) Subroutine "modules_VERSION" with high complexity score (25) at line 2401, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 2570, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 2603, column 1. See page 182 of PBP. (Severity: 3) Subroutine "authenticate_imap" with high complexity score (21) at line 2671, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 2671, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 2776, column 1. See page 182 of PBP. (Severity: 3) Regular expression without "/x" flag at line 2850, column 51. See page 236 of PBP. (Severity: 3) Backtick operator used at line 2858, column 12. Use IPC::Open3 instead. (Severity: 3) Return value of eval not tested at line 2992, column 2. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3) "die" used instead of "croak" at line 3037, column 2. See page 283 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3145, column 15. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3146, column 15. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3147, column 15. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3156, column 8. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3157, column 8. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3158, column 8. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3184, column 31. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3261, column 25. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3264, column 20. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3465, column 24. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3466, column 19. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3470, column 19. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3540, column 39. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3541, column 39. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3542, column 41. See page 236 of PBP. (Severity: 3) Hard tabs used at line 3556, column 106. See page 20 of PBP. (Severity: 3) Expression form of "eval" at line 3796, column 13. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 4026, column 13. See page 161 of PBP. (Severity: 5) Subroutine "copy_message" with high complexity score (25) at line 4389, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 4389, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 4467, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 4501, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 4690, column 1. See page 182 of PBP. (Severity: 3) Reused variable name in lexical scope: $total_bytes_transferred at line 4751, column 2. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $nb_msg_transferred at line 4751, column 2. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $nb_msg_transferred at line 4764, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $maxmessagespersecond at line 4764, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $total_bytes_transferred at line 4785, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $maxbytespersecond at line 4785, column 9. Invent unique variable names. (Severity: 3) Expression form of "eval" at line 5972, column 13. See page 161 of PBP. (Severity: 5) Regular expression without "/x" flag at line 6207, column 22. See page 236 of PBP. (Severity: 3) Expression form of "eval" at line 6212, column 13. See page 161 of PBP. (Severity: 5) Too many arguments at line 6376, column 1. See page 182 of PBP. (Severity: 3) Backtick operator used at line 6543, column 4. Use IPC::Open3 instead. (Severity: 3) Backtick operator used at line 6750, column 12. Use IPC::Open3 instead. (Severity: 3) Backtick operator used at line 6770, column 11. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 6932, column 12. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 6958, column 12. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 6999, column 12. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 7011, column 12. See page 261 of PBP. (Severity: 3) Expression form of "eval" at line 7117, column 43. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 7121, column 45. See page 161 of PBP. (Severity: 5) Split long regexps into smaller qr// chunks at line 7326, column 20. See page 261 of PBP. (Severity: 3) Regular expression without "/x" flag at line 7493, column 19. See page 236 of PBP. (Severity: 3) Close filehandles as soon as possible after opening them at line 7537, column 2. See page 209 of PBP. (Severity: 4) Magic variable "*STDERR" should be assigned as "local" at line 7540, column 10. See pages 81,82 of PBP. (Severity: 4) One-argument "select" used at line 7541, column 2. See page 224 of PBP. (Severity: 4)