Main code has high complexity score (400) at line 1, column 1.  Consider refactoring.  (Severity: 3)
"$ssl1_SSL_version" is declared but not used at line 712, column 1.  Unused variables clutter code and make it harder to read.  (Severity: 3)
"$ssl2_SSL_version" is declared but not used at line 712, column 1.  Unused variables clutter code and make it harder to read.  (Severity: 3)
Regular expression without "/x" flag at line 1341, column 33.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 1350, column 33.  See page 236 of PBP.  (Severity: 3)
Code structure is deeply nested at line 1875, column 41.  Consider refactoring.  (Severity: 3)
Reused variable name in lexical scope: $sync at line 2040, column 2.  Invent unique variable names.  (Severity: 3)
Hard tabs used at line 2066, column 22.  See page 20 of PBP.  (Severity: 3)
Reused variable name in lexical scope: $sync at line 2150, column 2.  Invent unique variable names.  (Severity: 3)
Regular expression without "/x" flag at line 2199, column 29.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 2221, column 31.  See page 236 of PBP.  (Severity: 3)
Reused variable name in lexical scope: $sync at line 2230, column 2.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $sync at line 2253, column 2.  Invent unique variable names.  (Severity: 3)
Regular expression without "/x" flag at line 2286, column 30.  See page 236 of PBP.  (Severity: 3)
Reused variable name in lexical scope: $sync at line 2297, column 53.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $sync at line 2305, column 2.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $sync at line 2353, column 2.  Invent unique variable names.  (Severity: 3)
Regular expression without "/x" flag at line 2389, column 26.  See page 236 of PBP.  (Severity: 3)
Reused variable name in lexical scope: $nb_errors at line 2437, column 2.  Invent unique variable names.  (Severity: 3)
Too many arguments at line 2473, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2491, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2501, column 1.  See page 182 of PBP.  (Severity: 3)
Subroutine "modules_VERSION" with high complexity score (26) at line 2619, column 1.  Consider refactoring.  (Severity: 3)
Too many arguments at line 2782, column 1.  See page 182 of PBP.  (Severity: 3)
Subroutine "authenticate_imap" with high complexity score (21) at line 2851, column 1.  Consider refactoring.  (Severity: 3)
Too many arguments at line 2851, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2981, column 1.  See page 182 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3057, column 62.  See page 236 of PBP.  (Severity: 3)
Backtick operator used at line 3065, column 19.  Use IPC::Open3 instead.  (Severity: 3)
Return value of eval not tested at line 3203, 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 3248, column 2.  See page 283 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3356, column 15.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3357, column 15.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3358, column 15.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3367, column 8.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3368, column 8.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3369, column 8.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3395, column 31.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3477, column 25.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3480, column 20.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3681, column 24.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3682, column 19.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3686, column 19.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3756, column 39.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3757, column 39.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 3758, column 41.  See page 236 of PBP.  (Severity: 3)
Hard tabs used at line 3772, column 106.  See page 20 of PBP.  (Severity: 3)
Expression form of "eval" at line 4012, column 13.  See page 161 of PBP.  (Severity: 5)
Expression form of "eval" at line 4242, column 13.  See page 161 of PBP.  (Severity: 5)
Subroutine "copy_message" with high complexity score (25) at line 4603, column 1.  Consider refactoring.  (Severity: 3)
Too many arguments at line 4603, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 4679, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 4713, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 4902, column 1.  See page 182 of PBP.  (Severity: 3)
Reused variable name in lexical scope: $total_bytes_transferred at line 4963, column 2.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $nb_msg_transferred at line 4963, column 2.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $nb_msg_transferred at line 4976, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $maxmessagespersecond at line 4976, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $total_bytes_transferred at line 4997, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $maxbytespersecond at line 4997, column 9.  Invent unique variable names.  (Severity: 3)
Expression form of "eval" at line 6186, column 13.  See page 161 of PBP.  (Severity: 5)
Regular expression without "/x" flag at line 6421, column 22.  See page 236 of PBP.  (Severity: 3)
Expression form of "eval" at line 6426, column 13.  See page 161 of PBP.  (Severity: 5)
Too many arguments at line 6589, column 1.  See page 182 of PBP.  (Severity: 3)
Backtick operator used at line 6756, column 4.  Use IPC::Open3 instead.  (Severity: 3)
Backtick operator used at line 6963, column 12.  Use IPC::Open3 instead.  (Severity: 3)
Backtick operator used at line 6983, column 11.  Use IPC::Open3 instead.  (Severity: 3)
Split long regexps into smaller qr// chunks at line 7145, column 12.  See page 261 of PBP.  (Severity: 3)
Split long regexps into smaller qr// chunks at line 7171, column 12.  See page 261 of PBP.  (Severity: 3)
Split long regexps into smaller qr// chunks at line 7212, column 12.  See page 261 of PBP.  (Severity: 3)
Split long regexps into smaller qr// chunks at line 7224, column 12.  See page 261 of PBP.  (Severity: 3)
Expression form of "eval" at line 7330, column 43.  See page 161 of PBP.  (Severity: 5)
Expression form of "eval" at line 7334, column 45.  See page 161 of PBP.  (Severity: 5)
Split long regexps into smaller qr// chunks at line 7539, column 20.  See page 261 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 7706, column 19.  See page 236 of PBP.  (Severity: 3)
Close filehandles as soon as possible after opening them at line 7750, column 2.  See page 209 of PBP.  (Severity: 4)
Magic variable "*STDERR" should be assigned as "local" at line 7753, column 10.  See pages 81,82 of PBP.  (Severity: 4)
One-argument "select" used at line 7754, column 2.  See page 224 of PBP.  (Severity: 4)
