Subroutine "single_sync" with high complexity score (414) at line 1119, column 1. Consider refactoring. (Severity: 3) Literal line breaks in a string at line 1651, column 18. See pages 60,61 of PBP. (Severity: 3) Regular expression without "/x" flag at line 1846, column 47. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 1857, column 47. See page 236 of PBP. (Severity: 3) Code structure is deeply nested at line 2448, column 41. Consider refactoring. (Severity: 3) Regular expression without "/x" flag at line 2787, column 83. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 3344, column 83. See page 236 of PBP. (Severity: 3) Too many arguments at line 3491, column 1. See page 182 of PBP. (Severity: 3) Regular expression without "/x" flag at line 4109, column 23. See page 236 of PBP. (Severity: 3) Too many arguments at line 5096, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 5115, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 5136, column 1. See page 182 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5309, column 23. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6030, column 42. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6031, column 33. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6040, column 42. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6041, column 33. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6071, column 42. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6073, column 41. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6108, column 50. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6225, column 56. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6227, column 56. See page 236 of PBP. (Severity: 3) Too many arguments at line 6258, column 1. See page 182 of PBP. (Severity: 3) Subroutine "authenticate_imap" with high complexity score (23) at line 6371, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 6371, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 6539, column 1. See page 182 of PBP. (Severity: 3) Use "local $/ = undef" or Path::Tiny instead of joined readline at line 6651, column 47. See page 213 of PBP. (Severity: 3) Backtick operator used at line 6670, column 20. Use IPC::Open3 instead. (Severity: 3) Regular expression without "/x" flag at line 6815, column 26. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 8109, column 23. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 8418, column 29. See page 236 of PBP. (Severity: 3) Expression form of "eval" at line 8611, column 27. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 8813, column 27. See page 161 of PBP. (Severity: 5) Subroutine "copy_message" with high complexity score (22) at line 9244, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 9244, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 9319, column 1. See page 182 of PBP. (Severity: 3) Subroutine "message_for_host2" with high complexity score (25) at line 9353, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 9353, column 1. See page 182 of PBP. (Severity: 3) Regular expression without "/x" flag at line 9631, column 35. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 9636, column 43. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 9685, column 32. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 9780, column 32. See page 236 of PBP. (Severity: 3) Reused variable name in lexical scope: $uid1 at line 9903, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $uid2 at line 9903, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $uid1 at line 9983, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $uid2 at line 9983, column 9. Invent unique variable names. (Severity: 3) Too many arguments at line 10183, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 10422, column 1. See page 182 of PBP. (Severity: 3) Expression form of "eval" at line 11892, column 27. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 12133, column 27. See page 161 of PBP. (Severity: 5) Too many arguments at line 12444, column 1. See page 182 of PBP. (Severity: 3) Backtick operator used at line 12817, column 17. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 12906, column 32. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 12910, column 32. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 12929, column 33. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 12940, column 24. See page 261 of PBP. (Severity: 3) Regular expression without "/x" flag at line 13113, column 37. See page 236 of PBP. (Severity: 3) Cascading if-elsif chain at line 13242, column 2. See pages 117,118 of PBP. (Severity: 3) Return value of eval not tested at line 13396, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3) Backtick operator used at line 13397, column 15. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 13406, column 16. See page 261 of PBP. (Severity: 3) Return value of eval not tested at line 13419, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3) Backtick operator used at line 13420, column 15. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 13429, column 16. See page 261 of PBP. (Severity: 3) Return value of eval not tested at line 13443, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3) Capture variable used outside conditional at line 13454, column 12. See page 253 of PBP. (Severity: 3) Backtick operator used at line 13622, column 26. Use IPC::Open3 instead. (Severity: 3) Backtick operator used at line 13651, column 18. Use IPC::Open3 instead. (Severity: 3) Regular expression without "/x" flag at line 13785, column 42. See page 236 of PBP. (Severity: 3) Backtick operator used at line 13839, column 16. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 13947, column 19. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 13973, column 19. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 14014, column 19. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 14026, column 19. See page 261 of PBP. (Severity: 3) Regular expression without "/x" flag at line 14338, column 22. See page 236 of PBP. (Severity: 3) Expression form of "eval" at line 14409, column 56. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 14413, column 58. See page 161 of PBP. (Severity: 5) Split long regexps into smaller qr// chunks at line 14880, column 20. See page 261 of PBP. (Severity: 3) Regular expression without "/x" flag at line 15382, column 20. See page 236 of PBP. (Severity: 3) Reused variable name in lexical scope: $err at line 15775, column 3. Invent unique variable names. (Severity: 3) "warn" used instead of "carp" at line 16239, column 25. See page 283 of PBP. (Severity: 3) Regular expression without "/x" flag at line 16256, column 40. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 16258, column 23. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 16259, column 23. See page 236 of PBP. (Severity: 3) Literal line breaks in a string at line 16285, column 19. See pages 60,61 of PBP. (Severity: 3) Subroutine "myGetOptions" with high complexity score (31) at line 16321, column 1. Consider refactoring. (Severity: 3) Capture variable used outside conditional at line 16353, column 41. See page 253 of PBP. (Severity: 3) 1 files. 505 subroutines/methods. 17,023 statements. 17,259 lines, consisting of: 3,228 blank lines. 1,071 comment lines. 0 data lines. 12,138 lines of Perl code. 822 lines of POD. Average McCabe score of subroutines was 4.91. 87 violations. Violations per file was 87.000. Violations per statement was 0.005. Violations per line of code was 0.005. 6 severity 5 violations. 81 severity 3 violations. 6 violations of BuiltinFunctions::ProhibitStringyEval. 1 violations of ControlStructures::ProhibitCascadingIfElse. 1 violations of ControlStructures::ProhibitDeepNests. 1 violations of ErrorHandling::RequireCarping. 3 violations of ErrorHandling::RequireCheckingReturnValueOfEval. 7 violations of InputOutput::ProhibitBacktickOperators. 1 violations of InputOutput::ProhibitJoinedReadline. 2 violations of RegularExpressions::ProhibitCaptureWithoutTest. 11 violations of RegularExpressions::ProhibitComplexRegexes. 29 violations of RegularExpressions::RequireExtendedFormatting. 5 violations of Subroutines::ProhibitExcessComplexity. 13 violations of Subroutines::ProhibitManyArgs. 2 violations of ValuesAndExpressions::ProhibitImplicitNewlines. 5 violations of Variables::ProhibitReusedNames.