Main code has high complexity score (361) at line 1, column 1.  Consider refactoring.  (Severity: 3)
Regular expression without "/x" flag at line 1143, column 33.  See page 236 of PBP.  (Severity: 3)
Expression form of "map" at line 1145, column 51.  See page 169 of PBP.  (Severity: 4)
Regular expression without "/x" flag at line 1153, column 33.  See page 236 of PBP.  (Severity: 3)
Expression form of "map" at line 1155, column 51.  See page 169 of PBP.  (Severity: 4)
Code structure is deeply nested at line 1598, column 41.  Consider refactoring.  (Severity: 3)
Subroutine "foldersizesatend" does not end with "return" at line 1758, column 1.  See page 197 of PBP.  (Severity: 4)
Too many arguments at line 1784, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 1802, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 1812, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2049, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2110, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2170, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 2273, column 1.  See page 182 of PBP.  (Severity: 3)
Subroutine "is_valid_directory" does not end with "return" at line 2409, column 1.  See page 197 of PBP.  (Severity: 4)
"die" used instead of "croak" at line 2450, column 2.  See page 283 of PBP.  (Severity: 3)
Always unpack @_ first at line 2544, column 1.  See page 178 of PBP.  (Severity: 4)
Regular expression without "/x" flag at line 2551, column 15.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 2552, column 15.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 2553, column 15.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 2554, column 15.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 2581, column 31.  See page 236 of PBP.  (Severity: 3)
Reused variable name in lexical scope: $imap2 at line 2638, column 9.  Invent unique variable names.  (Severity: 3)
Regular expression without "/x" flag at line 2657, column 25.  See page 236 of PBP.  (Severity: 3)
Regular expression without "/x" flag at line 2660, column 20.  See page 236 of PBP.  (Severity: 3)
Mixed high and low-precedence booleans at line 2661, column 13.  See page 70 of PBP.  (Severity: 4)
Expression form of "eval" at line 3098, column 13.  See page 161 of PBP.  (Severity: 5)
Expression form of "eval" at line 3322, column 13.  See page 161 of PBP.  (Severity: 5)
Subroutine "select_msgs" does not end with "return" at line 3463, column 1.  See page 197 of PBP.  (Severity: 4)
Subroutine "tests_msgs_from_maxmin" does not end with "return" at line 3602, column 1.  See page 197 of PBP.  (Severity: 4)
Subroutine "copy_message" with high complexity score (30) at line 3679, column 1.  Consider refactoring.  (Severity: 3)
Too many arguments at line 3679, column 1.  See page 182 of PBP.  (Severity: 3)
Too many arguments at line 3770, column 1.  See page 182 of PBP.  (Severity: 3)
Subroutine "tests_subject" does not end with "return" at line 3864, column 1.  See page 197 of PBP.  (Severity: 4)
Too many arguments at line 3927, column 1.  See page 182 of PBP.  (Severity: 3)
Subroutine "sleep_if_needed" does not end with "return" at line 3986, column 1.  See page 197 of PBP.  (Severity: 4)
Reused variable name in lexical scope: $total_bytes_transferred at line 3987, column 2.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $nb_msg_transferred at line 3987, column 2.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $nb_msg_transferred at line 3999, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $maxmessagespersecond at line 3999, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $total_bytes_transferred at line 4020, column 9.  Invent unique variable names.  (Severity: 3)
Reused variable name in lexical scope: $maxbytespersecond at line 4020, column 9.  Invent unique variable names.  (Severity: 3)
Mismatched operator at line 4508, column 75.  Numeric/string operators and operands should match.  (Severity: 3)
Hard tabs used at line 4592, column 10.  See page 20 of PBP.  (Severity: 3)
Expression form of "eval" at line 4866, column 13.  See page 161 of PBP.  (Severity: 5)
Too many arguments at line 5022, column 1.  See page 182 of PBP.  (Severity: 3)
Backtick operator used at line 5335, column 12.  Use IPC::Open3 instead.  (Severity: 3)
Backtick operator used at line 5355, column 11.  Use IPC::Open3 instead.  (Severity: 3)
Expression form of "eval" at line 5656, column 43.  See page 161 of PBP.  (Severity: 5)
Expression form of "eval" at line 5660, column 45.  See page 161 of PBP.  (Severity: 5)
"$i" is declared but not used at line 5924, column 9.  Unused variables clutter code and make it harder to read.  (Severity: 3)
Reused variable name in lexical scope: $logfile at line 5976, column 2.  Invent unique variable names.  (Severity: 3)
Subroutine "teelaunch" does not end with "return" at line 5983, column 1.  See page 197 of PBP.  (Severity: 4)
Reused variable name in lexical scope: $logfile at line 5984, column 2.  Invent unique variable names.  (Severity: 3)
Close filehandles as soon as possible after opening them at line 5987, column 2.  See page 209 of PBP.  (Severity: 4)
"die" used instead of "croak" at line 5988, column 7.  See page 283 of PBP.  (Severity: 3)
Magic variable "*STDERR" should be assigned as "local" at line 5990, column 10.  See pages 81,82 of PBP.  (Severity: 4)
One-argument "select" used at line 5991, column 2.  See page 224 of PBP.  (Severity: 4)
