The --extrude tries to put as many newlines in the formatted code as possible.
The --mangle tries to remove as many newlines as possible. These options are
very useful for stress testing perltidy (and Perl) but not so much for normal
formatting. Occasionally they will produce code which Perl considers to have a
syntax error. These problems often involve code where Perl is having to guess
the tokenization based on whitespace. The given/when and switch/case
statements are also particularly vulnerable to unusual line breaks and
whitespace. This type of error should not normally occur in practice, but if
it does it should be easy to fix the problem by rerunning perltidy with more
normal parameters or by manually changing whitespace or newlines.

Usually the code produced by perltidy on the first pass does not change if it
is run again, but sometimes a second pass will produce some small additional
change. This mainly happens if a major style change is made, particularly when
perltidy is untangling complex ternary statements. Use the iteration parameter
-it=2 if it is important that the results be unchanged on subsequent passes,
but note that this doubles the run time.