Main code has high complexity score (420) at line 1, column 1. Consider refactoring. (Severity: 3) Regular expression without "/x" flag at line 1759, column 47. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 1768, column 47. See page 236 of PBP. (Severity: 3) Code structure is deeply nested at line 2332, column 41. Consider refactoring. (Severity: 3) Regular expression without "/x" flag at line 3221, column 23. See page 236 of PBP. (Severity: 3) Too many arguments at line 4226, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 4245, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 4266, column 1. See page 182 of PBP. (Severity: 3) Regular expression without "/x" flag at line 4425, column 23. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5096, column 42. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5097, column 33. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5106, column 42. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5126, column 42. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5159, column 50. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5263, column 64. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5264, column 64. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 5267, column 56. See page 236 of PBP. (Severity: 3) Too many arguments at line 5295, column 1. See page 182 of PBP. (Severity: 3) Subroutine "authenticate_imap" with high complexity score (23) at line 5377, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 5377, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 5529, column 1. See page 182 of PBP. (Severity: 3) Use "local $/ = undef" or Path::Tiny instead of joined readline at line 5626, column 43. See page 213 of PBP. (Severity: 3) Backtick operator used at line 5644, column 20. Use IPC::Open3 instead. (Severity: 3) Regular expression without "/x" flag at line 5782, column 26. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 6975, column 23. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 7284, column 29. See page 236 of PBP. (Severity: 3) Expression form of "eval" at line 7477, column 27. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 7718, column 27. See page 161 of PBP. (Severity: 5) Subroutine "copy_message" with high complexity score (22) at line 8149, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 8149, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 8223, column 1. See page 182 of PBP. (Severity: 3) Subroutine "message_for_host2" with high complexity score (25) at line 8257, column 1. Consider refactoring. (Severity: 3) Too many arguments at line 8257, column 1. See page 182 of PBP. (Severity: 3) Regular expression without "/x" flag at line 8535, column 35. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 8540, column 43. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 8589, column 32. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 8684, column 32. See page 236 of PBP. (Severity: 3) Reused variable name in lexical scope: $uid1 at line 8807, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $uid2 at line 8807, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $uid1 at line 8887, column 9. Invent unique variable names. (Severity: 3) Reused variable name in lexical scope: $uid2 at line 8887, column 9. Invent unique variable names. (Severity: 3) Too many arguments at line 9087, column 1. See page 182 of PBP. (Severity: 3) Too many arguments at line 9326, column 1. See page 182 of PBP. (Severity: 3) Expression form of "eval" at line 10687, column 27. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 10928, column 27. See page 161 of PBP. (Severity: 5) Too many arguments at line 11239, column 1. See page 182 of PBP. (Severity: 3) Backtick operator used at line 11612, column 17. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 11701, column 32. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 11705, column 32. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 11724, column 33. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 11735, column 24. See page 261 of PBP. (Severity: 3) Cascading if-elsif chain at line 11999, column 2. See pages 117,118 of PBP. (Severity: 3) Return value of eval not tested at line 12153, 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 12154, column 15. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 12163, column 16. See page 261 of PBP. (Severity: 3) Return value of eval not tested at line 12176, 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 12177, column 15. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 12186, column 16. See page 261 of PBP. (Severity: 3) Return value of eval not tested at line 12200, 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 12211, column 12. See page 253 of PBP. (Severity: 3) Backtick operator used at line 12379, column 26. Use IPC::Open3 instead. (Severity: 3) Backtick operator used at line 12408, column 18. Use IPC::Open3 instead. (Severity: 3) Regular expression without "/x" flag at line 12542, column 42. See page 236 of PBP. (Severity: 3) Backtick operator used at line 12595, column 16. Use IPC::Open3 instead. (Severity: 3) Split long regexps into smaller qr// chunks at line 12703, column 19. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 12729, column 19. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 12770, column 19. See page 261 of PBP. (Severity: 3) Split long regexps into smaller qr// chunks at line 12782, column 19. See page 261 of PBP. (Severity: 3) Regular expression without "/x" flag at line 13075, column 22. See page 236 of PBP. (Severity: 3) Expression form of "eval" at line 13146, column 56. See page 161 of PBP. (Severity: 5) Expression form of "eval" at line 13150, column 58. See page 161 of PBP. (Severity: 5) Split long regexps into smaller qr// chunks at line 13617, column 20. See page 261 of PBP. (Severity: 3) Regular expression without "/x" flag at line 14118, column 20. See page 236 of PBP. (Severity: 3) Reused variable name in lexical scope: $err at line 14511, column 3. Invent unique variable names. (Severity: 3) "warn" used instead of "carp" at line 14975, column 25. See page 283 of PBP. (Severity: 3) Regular expression without "/x" flag at line 14992, column 40. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 14994, column 23. See page 236 of PBP. (Severity: 3) Regular expression without "/x" flag at line 14995, column 23. See page 236 of PBP. (Severity: 3) Literal line breaks in a string at line 15021, column 19. See pages 60,61 of PBP. (Severity: 3) Subroutine "myGetOptions" with high complexity score (31) at line 15057, column 1. Consider refactoring. (Severity: 3) Capture variable used outside conditional at line 15089, column 41. See page 253 of PBP. (Severity: 3) 1 files. 476 subroutines/methods. 15,905 statements. 15,974 lines, consisting of: 2,987 blank lines. 967 comment lines. 0 data lines. 11,242 lines of Perl code. 778 lines of POD. Average McCabe score of subroutines was 4.05. 81 violations. Violations per file was 81.000. Violations per statement was 0.005. Violations per line of code was 0.005. 6 severity 5 violations. 75 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. 1 violations of Modules::ProhibitExcessMainComplexity. 2 violations of RegularExpressions::ProhibitCaptureWithoutTest. 11 violations of RegularExpressions::ProhibitComplexRegexes. 25 violations of RegularExpressions::RequireExtendedFormatting. 4 violations of Subroutines::ProhibitExcessComplexity. 12 violations of Subroutines::ProhibitManyArgs. 1 violations of ValuesAndExpressions::ProhibitImplicitNewlines. 5 violations of Variables::ProhibitReusedNames.