Main code has high complexity score (357) at line 1, column 1.  Consider refactoring.  (Severity: 3)
Expression form of "map" at line 1136, column 51.  See page 169 of PBP.  (Severity: 4)
Expression form of "map" at line 1146, column 51.  See page 169 of PBP.  (Severity: 4)
Code structure is deeply nested at line 1581, column 41.  Consider refactoring.  (Severity: 3)
Too many arguments at line 1762, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 1780, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 1790, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2024, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2085, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2145, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2248, column 1.  See page 182 of PBP.  (Severity: 3)
Subroutine "is_valid_directory" does not end with "return" at line 2384, column 1.  See page 197 of PBP.  (Severity: 4)
"die" used instead of "croak" at line 2425, column 2.  See page 283 of PBP.  (Severity: 3)
Reused variable name in lexical scope: $imap2 at line 2540, column 9.  Invent unique variable names.  (Severity: 3)
Regular expression without "/x" flag at line 2553, column 25.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 2556, column 20.  See page 236 of PBP.  (Severity: 3)
Mixed high and low-precedence booleans at line 2557, column 13.  See page 70 of PBP.  (Severity: 4)
Expression form of "eval" at line 2982, column 13.  See page 161 of PBP.  (Severity: 5)
Expression form of "eval" at line 3203, column 13.  See page 161 of PBP.  (Severity: 5)
Subroutine "select_msgs" does not end with "return" at line 3344, column 1.  See page 197 of PBP.  (Severity: 4)
Subroutine "tests_msgs_from_maxmin" does not end with "return" at line 3483, column 1.  See page 197 of PBP.  (Severity: 4)
Subroutine "copy_message" with high complexity score (30) at line 3560, column 1.  Consider refactoring.  (Severity: 3)
Too many arguments at line 3560, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 3651, column 1.  See page 182 of PBP.  (Severity: 3)
Subroutine "tests_subject" does not end with "return" at line 3745, column 1.  See page 197 of PBP.  (Severity: 4)
Too many arguments at line 3808, column 1.  See page 182 of PBP.  (Severity: 3)
Subroutine "sleep_if_needed" does not end with "return" at line 3864, column 1.  See page 197 of PBP.  (Severity: 4)
Reused variable name in lexical scope: $total_bytes_transferred at line 3865, column 2.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $nb_msg_transferred at line 3865, column 2.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $nb_msg_transferred at line 3877, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $maxmessagespersecond at line 3877, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $total_bytes_transferred at line 3898, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $maxbytespersecond at line 3898, column 9.  Invent unique variable names.  (Severity: 3)
Mismatched operator at line 4366, column 75.  Numeric/string operators and operands should match.  (Severity: 3)
Hard tabs used at line 4450, column 10.  See page 20 of PBP.  (Severity: 3)
Expression form of "eval" at line 4721, column 13.  See page 161 of PBP.  (Severity: 5)
Too many arguments at line 4877, column 1.  See page 182 of PBP.  (Severity: 3)
Backtick operator used at line 5190, column 12.  Use IPC::Open3 instead.  (Severity: 3)
Backtick operator used at line 5210, column 11.  Use IPC::Open3 instead.  (Severity: 3)
Expression form of "eval" at line 5511, column 43.  See page 161 of PBP.  (Severity: 5)
Expression form of "eval" at line 5515, column 45.  See page 161 of PBP.  (Severity: 5)
"$i" is declared but not used at line 5779, column 9.  Unused variables clutter code and make it harder to read.  (Severity: 3)
Reused variable name in lexical scope: $logfile at line 5831, column 2.  Invent unique variable names.  (Severity: 3)
Subroutine "teelaunch" does not end with "return" at line 5838, column 1.  See page 197 of PBP.  (Severity: 4)
Reused variable name in lexical scope: $logfile at line 5839, column 2.  Invent unique variable names.  (Severity: 3)
Close filehandles as soon as possible after opening them at line 5842, column 2.  See page 209 of PBP.  (Severity: 4)
"die" used instead of "croak" at line 5843, column 7.  See page 283 of PBP.  (Severity: 3)
Magic variable "*STDERR" should be assigned as "local" at line 5845, column 10.  See pages 81,82 of PBP.  (Severity: 4)
One-argument "select" used at line 5846, column 2.  See page 224 of PBP.  (Severity: 4)
