OS Manuals

/usr/bin/perltidy

Parses and beautifies perl source

From perl-tidy 20260826.03-r2 (os), captured 2026-11-05 by running perltidy --help (exit 0). permalink

This is perltidy version 20260826.03, a perl script indenter.  Usage:

    perltidy [ options ] file1 file2 file3 ...
            (output goes to file1.tdy, file2.tdy, file3.tdy, ...)
    perltidy [ options ] file1 -o outfile
    perltidy [ options ] file1 -st >outfile
    perltidy [ options ] <infile >outfile

Options have short and long forms. Short forms are shown; see
man pages for long forms.  Note: '=s' indicates a required string,
and '=n' indicates a required integer.

I/O control
 -h      show this help
 -o=file name of the output file (only if single input file)
 -oext=s change output extension from 'tdy' to s
 -opath=path  change path to be 'path' for output files
 -b      backup original to .bak and modify file in-place
 -bext=s change default backup extension from 'bak' to s
 -q      deactivate error messages (for running under editor)
 -w      include non-critical warning messages in the .ERR error output
 -log    save .LOG file, which has useful diagnostics
 -f      force perltidy to read a binary file
 -g      like -log but writes more detailed .LOG file, for debugging scripts
 -opt    write the set of options actually used to a .LOG file
 -npro   ignore .perltidyrc configuration command file
 -pro=file   read configuration commands from file instead of .perltidyrc
 -st     send output to standard output, STDOUT
 -se     send all error output to standard error output, STDERR
 -v      display version number to standard output and quit

Basic Options:
 -i=n    use n columns per indentation level (default n=4)
 -t      tabs: use one tab character per indentation level, not recommended
 -nt     no tabs: use n spaces per indentation level (default)
 -et=n   entab leading whitespace n spaces per tab; not recommended
 -io     "indent only": just do indentation, no other formatting.
 -sil=n  set starting indentation level to n;  use if auto detection fails
 -ole=s  specify output line ending (s=dos or win, mac, unix)
 -ple    keep output line endings same as input (input must be filename)

Whitespace Control
 -fws    freeze whitespace; this disables all whitespace changes
           and disables the following switches:
 -bt=n   sets brace tightness,  n= (0 = loose, 1=default, 2 = tight)
 -bbt    same as -bt but for code block braces; same as -bt if not given
 -bbvt   block braces vertically tight; use with -bl or -bli
 -bbvtl=s  make -bbvt to apply to selected list of block types
 -pt=n   paren tightness (n=0, 1 or 2)
 -sbt=n  square bracket tightness (n=0, 1, or 2)
 -bvt=n  brace vertical tightness,
         n=(0=open, 1=close unless multiple steps on a line, 2=always close)
 -pvt=n  paren vertical tightness (see -bvt for n)
 -sbvt=n square bracket vertical tightness (see -bvt for n)
 -bvtc=n closing brace vertical tightness:
         n=(0=open, 1=sometimes close, 2=always close)
 -pvtc=n closing paren vertical tightness, see -bvtc for n.
 -sbvtc=n closing square bracket vertical tightness, see -bvtc for n.
 -ci=n   sets continuation indentation=n,  default is n=2 spaces
 -lp     line up parentheses, brackets, and non-BLOCK braces
 -sfs    add space before semicolon in for( ; ; )
 -aws    allow perltidy to add whitespace (default)
 -dws    delete all old non-essential whitespace
 -icb    indent closing brace of a code block
 -cti=n  closing indentation of paren, square bracket, or non-block brace:
         n=0 none, =1 align with opening, =2 one full indentation level
 -icp    equivalent to -cti=2
 -wls=s  want space left of tokens in string; i.e. -nwls='+ - * /'
 -wrs=s  want space right of tokens in string;
 -sts    put space before terminal semicolon of a statement
 -sak=s  put space between keywords given in s and '(';
 -nsak=s no space between keywords in s and '('; i.e. -nsak='my our local'

Line Break Control
 -fnl    freeze newlines; this disables all line break changes
            and disables the following switches:
 -anl    add newlines;  ok to introduce new line breaks
 -bbs    add blank line before subs and packages
 -bbc    add blank line before block comments
 -bbb    add blank line between major blocks
 -kbl=n  keep old blank lines? 0=no, 1=some, 2=all
 -mbl=n  maximum consecutive blank lines to output (default=1)
 -ce     cuddled else; use this style: '} else {'
 -cb     cuddled blocks (other than 'if-elsif-else')
 -cbl=s  list of blocks to cuddled, default 'try-catch-finally'
 -dnl    delete old newlines (default)
 -l=n    maximum line length;  default n=80
 -bl     opening brace on new line
 -sbl    opening sub brace on new line.  value of -bl is used if not given.
 -bli    opening brace on new line and indented
 -bar    opening brace always on right, even for long clauses
 -vt=n   vertical tightness (requires -lp); n controls break after opening
         token: 0=never  1=no break if next line balanced   2=no break
 -vtc=n  vertical tightness of closing container; n controls if closing
         token starts new line: 0=always  1=not unless list  1=never
 -wba=s  want break after tokens in string; i.e. wba=': .'
 -wbb=s  want break before tokens in string
 -wn     weld nested: combines opening and closing tokens when both are adjacent
 -wnxl=s weld nested exclusion list: provides some control over the types of
         containers which can be welded

Following Old Breakpoints
 -kis    keep interior semicolons.  Allows multiple statements per line.
 -boc    break at old comma breaks: turns off all automatic list formatting
 -bol    break at old logical breakpoints: or, and, ||, && (default)
 -bom    break at old method call breakpoints: ->
 -bok    break at old list keyword breakpoints such as map, sort (default)
 -bot    break at old conditional (ternary ?:) operator breakpoints (default)
 -boa    break at old attribute breakpoints
 -cab=n  break at commas after a comma-arrow (=>):
         n=0 break at all commas after =>
         n=1 stable: break unless this breaks an existing one-line container
         n=2 break only if a one-line container cannot be formed
         n=3 do not treat commas after => specially at all

Comment controls
 -ibc    indent block comments (default)
 -isbc   indent spaced block comments; may indent unless no leading space
 -msc=n  minimum desired spaces to side comment, default 4
 -fpsc=n fix position for side comments; default 0;
 -csc    add or update closing side comments after closing BLOCK brace
 -dcsc   delete closing side comments created by a -csc command
 -cscp=s change closing side comment prefix to be other than '## end'
 -cscl=s change closing side comment to apply to selected list of blocks
 -csci=n minimum number of lines needed to apply a -csc tag, default n=6
 -csct=n maximum number of columns of appended text, default n=20
 -cscw   causes warning if old side comment is overwritten with -csc

 -sbc    use 'static block comments' identified by leading '##' (default)
 -sbcp=s change static block comment identifier to be other than '##'
 -osbc   outdent static block comments

 -ssc    use 'static side comments' identified by leading '##' (default)
 -sscp=s change static side comment identifier to be other than '##'

Delete selected text
 -dac    delete all comments AND pod
 -dbc    delete block comments
 -dsc    delete side comments
 -dp     delete pod

Send selected text to a '.TEE' file
 -tac    tee all comments AND pod
 -tbc    tee block comments
 -tsc    tee side comments
 -tp     tee pod

Outdenting
 -olq    outdent long quoted strings (default)
 -olc    outdent a long block comment line
 -ola    outdent statement labels
 -okw    outdent control keywords (redo, next, last, goto, return)
 -okwl=s specify alternative keywords for -okw command

Other controls
 -mft=n  maximum fields per table; default n=0 (no limit)
 -x      do not format lines before hash-bang line (i.e., for VMS)
 -asc    allows perltidy to add a ';' when missing (default)
 -dsm    allows perltidy to delete an unnecessary ';'  (default)

Combinations of other parameters
 -gnu     attempt to follow GNU Coding Standards as applied to perl
 -mangle  remove as many newlines as possible (but keep comments and pods)
 -extrude  insert as many newlines as possible

Dump and die, debugging
 -dop    dump options used in this run to standard output and quit
 -ddf    dump default options to standard output and quit
 -dsn    dump all option short names to standard output and quit
 -dln    dump option long names to standard output and quit
 -dpro   dump whatever configuration file is in effect to standard output
 -dtt    dump all token types to standard output and quit

HTML
 -html write an html file (see 'man perl2web' for many options)
       Note: when -html is used, no indentation or formatting are done.
       Hint: try perltidy -html -css=mystyle.css filename.pl
       and edit mystyle.css to change the appearance of filename.html.
       -nnn gives line numbers
       -pre only writes out <pre>..</pre> code section
       -toc places a table of contents to subs at the top (default)
       -pod passes pod text through pod2html (default)
       -frm write html as a frame (3 files)
       -text=s extra extension for table of contents if -frm, default='toc'
       -sext=s extra extension for file content if -frm, default='src'

A prefix of "n" negates short form toggle switches, and a prefix of "no"
negates the long forms.  For example, -nasc means don't add missing
semicolons.

If you are unable to see this entire text, try "perltidy -h | more"
For more detailed information, and additional options, try "man perltidy",
or see https://metacpan.org/pod/distribution/Perl-Tidy/bin/perltidy
Options (257)
OptionDescriptionSource
-h, --helpShow summary of usage and exit.help + man
-opath, --output-path pathWhen perltidy creates a filename for an output file, by default it merely appends an extension to the path and basename of the input file.help + man
-b, --backup-and-modify-in-placeModify the input file or files in-place and save the original with the extension .bak.help + man
-q, --quietDeactivate error messages (for running under an editor).help + man
-w, --warning-outputSetting -w causes any non-critical warning messages to be reported as errors.help + man
-log, --logfileSave the .LOG file, which has many useful diagnostics.help + man
-f, --force-read-binaryForce perltidy to process binary files.help + man
-g, --logfile-gap nlike -log but writes more detailed .LOG file, for debugging scriptshelp + man
-opt, --show-optionswrite the set of options actually used to a .LOG filehelp + man
-npro --noprofileignore .perltidyrc configuration command filehelp + man
-pro, --profile fileTo simplify testing and switching .perltidyrc files, this command may be used to specify a configuration file which will override the default name of .perltidyrc.help + man
-st, --standard-outputPerltidy must be able to operate on an arbitrarily large number of files in a single run, with each output being directed to a different output file.help + man
-se, --standard-error-outputIf perltidy detects an error when processing file somefile.pl, its default behavior is to write error messages to file somefile.pl.ERR.help + man
-v, --versiondisplay version number to standard output and quithelp + man
-i, --indent-columns nUse n columns per indentation level (default n=4).help + man
-t, --tabsThis flag causes one leading tab character to be inserted for each level of indentation.help + man
-ntno tabs: use n spaces per indentation level (default)help
-et, --entab-leading-whitespace nThis flag causes each n leading space characters produced by the formatting process to be replaced by one tab character.help + man
-io, --indent-onlyThis flag is used to deactivate all whitespace and line break changes within non-blank lines of code.help + man
-sil nBy default, perltidy examines the input file and tries to determine the starting indentation level.help + man
-ole, --output-line-ending sspecify output line ending (s=dos or win, mac, unix)help + man
-ple, --preserve-line-endingsThis flag tells perltidy to write its output files with the same line endings as the input file, if possible.help + man
-fws, --freeze-whitespaceThis flag causes your original whitespace to remain unchanged, and causes the rest of the whitespace commands in this section, the Code Indentation section, and the Comment Control section to be…help + man
-bt nsets brace tightness, n= (0 = loose, 1=default, 2 = tight)help
-bbtsame as -bt but for code block braces;help
-bbvt, --block-brace-vertical-tightness nThe -bbvt=n flag is just like the -vt=n flag but applies to opening code block braces.help + man
-bbvtl smake -bbvt to apply to selected list of block typeshelp
-pt nparen tightness (n=0, 1 or 2)help
-sbt nsquare bracket tightness (n=0, 1, or 2)help
-bvt nbrace vertical tightness, n=(0=open, 1=close unless multiple steps on a line, 2=always close)help
-pvt nparen vertical tightness (see -bvt for n)help
-ci, --continuation-indentation nContinuation indentation is extra indentation spaces applied when a long line is broken.help + man
-lpline up parentheses, brackets, and non-BLOCK braceshelp
-sfs, --space-for-semicolonSemicolons within for loops may sometimes be hard to see, particularly when commas are also present.help + man
-aws, --add-whitespaceSetting this option allows perltidy to add certain whitespace to improve code readability.help + man
-dws, --delete-old-whitespaceSetting this option allows perltidy to remove optional whitespace between characters in the input file.help + man
-icb, --indent-closing-braceThe -icb option gives one extra level of indentation to a brace which terminates a code block .help + man
-cti, --closing-token-indentation nclosing indentation of paren, square bracket, or non-block brace: n=0 none, =1 align with opening, =2 one full indentation levelhelp + man
-icp, --indent-closing-parenThe -icp flag is equivalent to -cti=2, described in the previous section.help + man
-wls, --want-left-space swant space left of tokens in string;help + man
-wrs, --want-right-space swant space right of tokens in string;help + man
-sts, --space-terminal-semicolonSome programmers prefer a space before all terminal semicolons.help + man
-sak, --space-after-keyword sput space between keywords given in s and '(';help + man
-fnl, --freeze-newlinesIf you do not want any changes to the line breaks within lines of code in your script, set -fnl, and they will remain fixed, and the rest of the commands in this section and sections "Controlling…help + man
-anl, --add-newlinesBy default, perltidy will add line breaks when necessary to create continuations of long lines and to improve the script appearance.help + man
-bbs, --blanks-before-subsFor compatibility with previous versions, -bbs or --blanks-before-subs is equivalent to -blbp=1 and -blbs=1.help + man
-bbc, --blanks-before-commentsThis parameter allows perltidy to introduce a new blank line before a full-line comment to improve readability.help + man
-bbb, --blanks-before-blocksA blank line will be introduced before blocks of coding delimited by for, foreach, while, until, and if, unless, in the following circumstances:help + man
-kbl, --keep-old-blank-lines nThe -kbl=n flag gives you control over how your existing blank lines are treated.help + man
-mbl nThis parameter specifies the maximum number of consecutive blank lines which will be output within code sections of a script.help + man
-ce, --cuddled-elseEnable the "cuddled else" style, in which "else" and "elsif" are follow immediately after the curly brace closing the previous block.help + man
-cb, --cuddled-blocksThis flag is equivalent to --cuddled-else (-ce).help + man
-cbl, --cuddled-block-list sThe built-in default cuddled block types are else, elsif, continue, catch, finally.help + man
-dnl, --delete-old-newlinesBy default, perltidy first deletes all old line break locations, and then it looks for good break points to match the desired line length.help + man
-l, --maximum-line-length nThe default maximum line length is n=80 characters.help + man
-bl, --opening-brace-on-new-line, --brace-leftUse the flag -bl to place an opening block brace on a new line:help + man
-sbl, --opening-sub-brace-on-new-lineThe flag -sbl provides a shortcut way to turn on -bl just for named subs.help + man
-bli, --brace-left-and-indentThe flag -bli is similar to the -bl flag but in addition it causes one unit of continuation indentation ( see --continuation-indentation ) to be placed before an opening and closing block braces.help + man
-bar, --opening-brace-always-on-rightThe default style, -nbl places the opening code block brace on a new line if it does not fit on the same line as the opening keyword, like this:help + man
-vt nvertical tightness (requires -lp);help
-vtc nvertical tightness of closing container;help
-wba, --want-break-after swant break after tokens in string;help + man
-wbb, --want-break-before sThese parameters are each followed by a quoted string, s, containing a list of token types (separated only by spaces).help + man
-wn, --weld-nested-containersThe -wn flag causes closely nested pairs of opening and closing container symbols (curly braces, brackets, or parens) to be "welded" together, meaning that they are treated as if combined into a…help + man
-kis, --keep-interior-semicolonsUse the -kis flag to prevent breaking at a semicolon if there was no break there in the input file.help + man
-boc, --break-at-old-comma-breakpointsThe -boc flag is another way to prevent comma-separated lists from being reformatted.help + man
-bol, --break-at-old-logical-breakpointsBy default, if a logical expression within a container is broken at a "&&", "||", "and", or "or", then the container will remain broken.help + man
-bom, --break-at-old-method-breakpointsBy default, a method call arrow "->" is considered a candidate for a breakpoint, but method chains will fill to the line width before a break is considered.help + man
-bok, --break-at-old-keyword-breakpointsBy default, perltidy will retain a breakpoint before keywords which may return lists, such as "sort" and "map".help + man
-bot, --break-at-old-ternary-breakpointsBy default, if a conditional (ternary) operator is broken at a ":", then it will remain broken.help + man
-boa, --break-at-old-attribute-breakpointsBy default, if an attribute list is broken at a ":" in the source file, then it will remain broken.help + man
-cab, --comma-arrow-breakpoints nbreak at commas after a comma-arrow (=>): n=0 break at all commas after => n=1 stable: break unless this breaks an existing one-line container n=2 break only if a one-line container cannot be formed…help + man
-ibc, --indent-block-commentsBlock comments normally look best when they are indented to the same level as the code which follows them.help + man
-isbc, --indent-spaced-block-commentsIf there is no leading space on the line, then the comment will not be indented, and otherwise it may be.help + man
-msc, --minimum-space-to-comment nSide comments look best when lined up several spaces to the right of code.help + man
-csc, --closing-side-commentsThe command -csc (or --closing-side-comments) adds or updates closing side comments.help + man
-dcsc, --delete-closing-side-commentsThe command -dcsc (or --delete-closing-side-comments) removes these comments.help + man
-cscw, --closing-side-comment-warningsThis parameter is intended to help make the initial transition to the use of closing side comments.help + man
-sbc, --static-block-commentsWhen -sbc is used, a block comment with a special leading pattern, "##" by default, will be treated specially.help + man
-osbc, --outdent-static-block-commentsThe command -osbc will cause static block comments to be outdented by the number of --continuation-spaces=n, if possible.help + man
-ssc, --static-side-commentsWhen -ssc is used, a side comment with a static leading pattern, which is "##" by default, will be spaced only a single space from previous character, and it will not be vertically aligned with other…help + man
-dacdelete all comments AND podhelp
-dbc, --delete-block-commentsdelete block commentshelp + man
-dsc, --delete-side-commentsdelete side commentshelp + man
-dpdelete podhelp
-tactee all comments AND podhelp
-tbctee block commentshelp
-tsctee side commentshelp
-tptee podhelp
-olq, --outdent-long-quotesWhen -olq is set, lines which is a quoted string longer than the value maximum-line-length will have their indentation removed to make them more readable.help + man
-olc, --outdent-long-commentsWhen -olc is set, lines which are full-line (block) comments longer than the value maximum-line-length will have their indentation removed.help + man
-olaoutdent statement labelshelp
-okw, --outdent-keywordsThe command -okw will cause certain leading control keywords to be outdented by the number of spaces defined by --continuation-indentation=nspaces, if possible.help + man
-mft, --maximum-fields-per-table nPerltidy will use special formatting rules for lists are relatively small, irregular, or associated with certain keywords such as "sprintf".help + man
-xdo not format lines before hash-bang line (i.e., for VMS)help
-asc, --add-semicolonsSetting -asc allows perltidy to add any missing optional semicolon at the end of a line which is followed by a closing curly brace on the next line.help + man
-dsm, --delete-semicolonsSetting -dsm allows perltidy to delete extra semicolons which are simply empty statements.help + man
-gnu, --gnu-styleattempt to follow GNU Coding Standards as applied to perlhelp + man
-mangleremove as many newlines as possible (but keep comments and pods)help
-extrudeinsert as many newlines as possiblehelp
-dop, --dump-options willdump options used in this run to standard output and quithelp + man
-ddf, --dump-defaults willdump default options to standard output and quithelp + man
-dsn, --dump-short-names willdump all option short names to standard output and quithelp + man
-dln, --dump-long-names willdump option long names to standard output and quithelp + man
-dpro, --dump-profile willdump whatever configuration file is in effect to standard outputhelp + man
-dtt, --dump-token-types willdump all token types to standard output and quithelp + man
-o, --outfile filenameName of the output file (only if a single input file is being processed). (in the manual page but not in --help)man
-oext, --output-file-extension extChange the extension of the output file to be ext instead of the default tdy (or html in case the --html option is used). (in the manual page but not in --help)man
-bext, --backup-file-extension extThis parameter serves two purposes: (1) to change the extension of the backup file to be something other than the default .bak, and (2) to indicate that no backup file should be saved. (in the manual page but not in --help)man
-bm, --backup-method sThis parameter should not normally be used but is available in the event that problems arise as a transition is made from an older implementation of the backup logic to a newer implementation. (in the manual page but not in --help)man
-ast, --assert-tidyThis flag asserts that the input and output code streams are identical, or in other words that the input code is already 'tidy' according to the formatting parameters. (in the manual page but not in --help)man
-asu, --assert-untidyThis flag asserts that the input and output code streams are different, or in other words that the input code is 'untidy' according to the formatting parameters. (in the manual page but not in --help)man
-tos, --timeout-in-seconds nWhen the standard input supplies the input stream, and the input has not been received within n seconds, perltidy will end with a timeout message. (in the manual page but not in --help)man
-fmt, --format sIf --format=tidy (the default) then perltidy will reformat the input file, and if --format=html then perltidy will produce html output. (in the manual page but not in --help)man
--notidyThis flag disables all formatting and causes the input to be copied unchanged to the output except for possible changes in line ending characters and any pre- and post-filters. (in the manual page but not in --help)man
-vmll, --variable-maximum-line-lengthA problem arises using a fixed maximum line length with very deeply nested code and data structures because eventually the amount of leading whitespace used for indicating indentation takes up most… (in the manual page but not in --help)man
-wc, --whitespace-cycle nThis flag also addresses problems with very deeply nested code and data structures. (in the manual page but not in --help)man
-dt, --default-tabsize nIf the first line of code passed to perltidy contains leading tabs but no tab scheme is specified for the output stream then perltidy must guess how many spaces correspond to each leading tab. (in the manual page but not in --help)man
-enc, --character-encoding sThis flag indicates if the input data stream uses a character encoding. (in the manual page but not in --help)man
-eos, --encode-output-strings sThis flag was added to resolve an issue involving the interface between Perl::Tidy and calling programs, and in particular Code::TidyAll (tidyall). (in the manual page but not in --help)man
-gcs, --use-unicode-gcstringThis flag controls whether or not perltidy may use module Unicode::GCString to obtain accurate display widths of wide characters. (in the manual page but not in --help)man
-atnl, --add-terminal-newlineThis flag, which is enabled by default, allows perltidy to terminate the last line of the output stream with a newline character, regardless of whether or not the input stream was terminated with a… (in the manual page but not in --help)man
-it, --iterations nThis flag causes perltidy to do n complete iterations. (in the manual page but not in --help)man
-conv, --convergeThis flag is equivalent to -it=4 and is included to simplify iteration control. (in the manual page but not in --help)man
-xci, --extended-continuation-indentationThis flag allows perltidy to use some improvements which have been made to its indentation model. (in the manual page but not in --help)man
-mci, --minimize-continuation-indentationThis flag allows perltidy to remove continuation indentation in some special cases where it is not really unnecessary. (in the manual page but not in --help)man
-lpil, --line-up-parentheses-inclusion-list, --line-up-parentheses-exclusion-list sThe following discussion is written for -lp but applies equally to the newer -xlp version. (in the manual page but not in --help)man
-ils, --indent-leading-semicolonA line which begins with a leading semicolon will, by default, have the extra number of indentation spaces defined by --continuation-indentation=n. (in the manual page but not in --help)man
-nib, --non-indenting-bracesNormally, lines of code contained within a pair of block braces receive one additional level of indentation. (in the manual page but not in --help)man
-nibp, --non-indenting-brace-prefix sThe -nibp=string parameter may be used to change the marker for non-indenting braces. (in the manual page but not in --help)man
-oll, --outdent-long-linesThis command is equivalent to the combination --outdent-long-quotes and --outdent-long-comments, and it is included for compatibility with previous versions of perltidy. (in the manual page but not in --help)man
-mutt, --multiple-token-tightness sTo review, the tightness controls described in the previous section have three possible integer values: 0, 1, and 2, where n=0 always adds a space, and n=2 never adds a space. (in the manual page but not in --help)man
-xbt, --extended-block-tightnessThere are two controls for spacing within curly braces, namely --block-brace-tightness=n for code block braces and --brace-tightness=n for all other braces. (in the manual page but not in --help)man
-xbtl, --extended-block-tightness-list sThe previous parameter --extended-block-tightness (-xbt) can be made to apply to curly braces preceded by any of the keywords (in the manual page but not in --help)man
-tso, --tight-secret-operatorsThe flag -tso causes certain perl token sequences (secret operators) which might be considered to be a single operator to be formatted "tightly" (without spaces). (in the manual page but not in --help)man
-nwls, --nowant-left-space s (in the manual page but not in --help)man
-nwrs, --nowant-right-space sThese parameters are each followed by a quoted string, s, containing a list of token types. (in the manual page but not in --help)man
-nsak, --nospace-after-keyword swhere s is a list of keywords (in quotes if necessary). (in the manual page but not in --help)man
-skp, --space-keyword-parenYou may also want to use the flag -sfp (next item) too. (in the manual page but not in --help)man
-sfp, --space-function-paren (in the manual page but not in --help)man
-fpva, --function-paren-vertical-alignmentA side-effect of using the -sfp flag is that the parens may become vertically aligned. (in the manual page but not in --help)man
-spp, --space-prototype-paren nThis flag can be used to control whether a function prototype is preceded by a space. (in the manual page but not in --help)man
-ssp, --space-signature-paren nThis flag is analogous to the previous except that it applies to the space before the opening paren of a sub signature rather than a sub prototype. (in the manual page but not in --help)man
-spit, --signature-paren-inner-tightness nThis flag is independent of the previous one: it controls the space inside a sub signature's parens, rather than the space before the opening paren. (in the manual page but not in --help)man
-kpit, --keyword-paren-inner-tightness nThe space inside of an opening paren, which itself follows a certain keyword, can be controlled by this parameter. (in the manual page but not in --help)man
-kpitl, --keyword-paren-inner-tightness-list stringThis command can be used to change the keywords to which the previous parameter, -kpit=n, applies. (in the manual page but not in --help)man
-lop, --logical-paddingIn the following example some extra space has been inserted on the second line between the two open parens. (in the manual page but not in --help)man
-tqw, --trim-qw provide (in the manual page but not in --help)man
-sbq, --space-backslash-quote nlines like (in the manual page but not in --help)man
-trp, --trim-pod will## Comment Controls (in the manual page but not in --help)man
-fpsc, --fixed-position-side-comment nThis parameter tells perltidy to line up side comments in column number n whenever possible. (in the manual page but not in --help)man
-iscl, --ignore-side-comment-lengthsThis parameter causes perltidy to ignore the length of side comments when setting line breaks. (in the manual page but not in --help)man
-ipc, --ignore-perlcritic-commentsPerltidy, by default, will look for side comments beginning with ## no critic and ignore their lengths when making line break decisions, even if the user has not set -iscl. (in the manual page but not in --help)man
-hsc, --hanging-side-commentsBy default, perltidy tries to identify and align "hanging side comments", which are something like this: (in the manual page but not in --help)man
-csci, --closing-side-comment-interval nwhere "n" is the minimum number of lines that a block must have in order for a closing side comment to be added. (in the manual page but not in --help)man
-cscl, --closing-side-comment-list stringwhere "string" is a list of block types to be tagged with closing side comments. (in the manual page but not in --help)man
-cscxl, --closing-side-comment-exclusion-list stringwhere "string" is a list of block types which should NOT be tagged with closing side comments. (in the manual page but not in --help)man
-csct, --closing-side-comment-maximum-text nThe text appended to certain block types, such as an "if" block, is whatever lies between the keyword introducing the block, such as "if", and the opening brace. (in the manual page but not in --help)man
-cscb, --closing-side-comments-balancedAs discussed in the previous item, when the closing-side-comment-maximum-text limit is exceeded the comment text must be truncated. (in the manual page but not in --help)man
-csce, --closing-side-comment-else-flag nThe default, n=0, places the text of the opening "if" statement after any terminal "else". (in the manual page but not in --help)man
-cscp, --closing-side-comment-prefix stringThis parameter changes the prefix which is used for closing side comments. (in the manual page but not in --help)man
-sbcp, --static-block-comment-prefix stringThis parameter defines the prefix used to identify static block comments when the -sbc parameter is set. (in the manual page but not in --help)man
-sscp, --static-side-comment-prefix stringThis parameter defines the prefix used to identify static side comments when the -ssc parameter is set. (in the manual page but not in --help)man
--code-skipping uses (in the manual page but not in --help)man
-fs, --format-skippingThis is the master switch for format skipping. (in the manual page but not in --help)man
-fsb, --format-skipping-begin stringThis and the next parameter allow the special beginning and ending comments to be changed. (in the manual page but not in --help)man
-fse, --format-skipping-end stringThe -fse=string is the corresponding parameter used to change the ending marker for format skipping. (in the manual page but not in --help)man
-dfsfs, --detect-format-skipping-from-startIf perltidy encounters a format skipping end comment before any format skipping begin comment, then by default it will assume that format skipping begins with the first line of the file. (in the manual page but not in --help)man
-csb, --code-skipping-begin stringThis may be used to change the beginning comment for a --code-skipping section, and its use is similar to the -fsb=string. (in the manual page but not in --help)man
-cse, --code-skipping-end stringThis may be used to change the ending comment for a --code-skipping section, and its use is similar to the -fse=string. (in the manual page but not in --help)man
-csfs, --code-skipping-from-startWhen this flag is set, and code skipping has not been disabled, code skipping begins from the start of a file even though there is no beginning code skipping comment. (in the manual page but not in --help)man
-lrt, --line-range-tidy n1:n2The range of lines is specified by integers n1 and n2, where n1 is the first line number to be formatted (start counting with 1) and n2 is the last line number to be formatted. (in the manual page but not in --help)man
-cblx, --cuddled-block-list-exclusiveWhen cuddled else formatting is selected with --cuddled-else, setting this flag causes perltidy to ignore its built-in defaults and rely exclusively on the block types specified on the… (in the manual page but not in --help)man
-cbo, --cuddled-break-option nCuddled formatting is only possible between a pair of code blocks if the closing brace of the first block starts a new line. (in the manual page but not in --help)man
-blpc, --blank-lines-prevent-cuddlesBy default, cuddling operations occur even if a blank line separates a closing brace from the line to which it will be joined. (in the manual page but not in --help)man
-bll, --brace-left-list sUse this parameter to change the types of block braces for which the -bl flag applies; (in the manual page but not in --help)man
-blxl, --brace-left-exclusion-list sUse this parameter to exclude types of block braces for which the -bl flag applies; (in the manual page but not in --help)man
-asbl, --opening-anonymous-sub-brace-on-new-lineThe flag -asbl is like the -sbl flag except that it applies to anonymous sub's instead of named subs. (in the manual page but not in --help)man
-blil, --brace-left-and-indent-list sUse this parameter to change the types of block braces for which the -bli flag applies; (in the manual page but not in --help)man
-blixl, --brace-left-and-indent-exclusion-list sUse this parameter to exclude types of block braces for which the -bli flag applies; (in the manual page but not in --help)man
-cpb, --cuddled-paren-braceA related parameter, --cuddled-paren-brace, causes perltidy to join two lines which otherwise would be (in the manual page but not in --help)man
-cpbw, --cuddled-paren-brace-weldThis parameter modifies the -cuddled-paren-brace parameter of the previous to actively form these cuddled pairs whenever possible. (in the manual page but not in --help)man
-otr, --opening-token-right andThe -otr flag is a hint that perltidy should not place a break between a comma and an opening token. (in the manual page but not in --help)man
-bbhb, --break-before-hash-brace nWhen a list of items spans multiple lines, the default formatting is to place the opening brace (or other container token) at the end of the starting line, like this: (in the manual page but not in --help)man
-bbhbi, --break-before-hash-brace-and-indent nThis flag is a companion to -bbhb=n for controlling the indentation of an opening hash brace which is placed on a new line by that parameter. (in the manual page but not in --help)man
-bbsb, --break-before-square-bracket nThis flag is similar to the flag described above, except it applies to lists contained within square brackets. (in the manual page but not in --help)man
-bbsbi, --break-before-square-bracket-and-indent nThis flag is a companion to -bbsb=n for controlling the indentation of an opening square bracket which is placed on a new line by that parameter. (in the manual page but not in --help)man
-bbp, --break-before-paren nThis flag is similar to -bbhb=n, described above, except it applies to lists contained within parens. (in the manual page but not in --help)man
-bbpi, --break-before-paren-and-indent nThis flag is a companion to -bbp=n for controlling the indentation of an opening paren which is placed on a new line by that parameter. (in the manual page but not in --help)man
-bfvt, --brace-follower-vertical-tightness nSome types of closing block braces, such as eval, may be followed by additional code. (in the manual page but not in --help)man
-wfc, --weld-fat-commaWhen the -wfc flag is set, along with -wn (--weld-nested-containers), perltidy is allowed to weld an opening paren to an inner opening container when they are separated by a hash key and fat comma… (in the manual page but not in --help)man
-wnxl, --weld-nested-exclusion-list sThe -wnxl=s flag provides some control over the types of containers which can be welded. (in the manual page but not in --help)man
--vertical-tightness n (in the manual page but not in --help)man
-sot, --stack-opening-tokens andThe -sot flag tells perltidy to "stack" opening tokens when possible to avoid lines with isolated opening tokens. (in the manual page but not in --help)man
-sct, --stack-closing-tokens andThe -sct flag tells perltidy to "stack" closing tokens when possible to avoid lines with isolated closing tokens. (in the manual page but not in --help)man
-baao, --break-after-all-operators (in the manual page but not in --help)man
-bbao, --break-before-all-operatorsThe -baao flag sets the default to be to break after all of the following operators: (in the manual page but not in --help)man
-bal, --break-after-labels nThis flag controls whether or not a line break occurs after a label. (in the manual page but not in --help)man
-boct, --break-at-old-comma-types sThis parameter can be used to make the -boc flag of the previous section apply only to commas in certain types of containers. (in the manual page but not in --help)man
-btct, --break-at-trailing-comma-types sA trailing comma is an optional comma following the last item of a list. (in the manual page but not in --help)man
-bocp, --break-open-compact-parens sWhen list contained in parentheses is too long to display on a single line, but short enough to display on two lines, then the default is to display it compactly on two lines. (in the manual page but not in --help)man
-qwaf, --qw-as-functionThis option tells perltidy to format a qw list which is delimited with parentheses as if it were a function call whose call args are a list of quoted items. (in the manual page but not in --help)man
-drc, --delete-repeated-commasThis option causes repeated commas to be removed. (in the manual page but not in --help)man
-dwic, --delete-weld-interfering-commasIf the closing tokens of two nested containers are separated by a comma, then welding requested with --weld-nested-containers cannot occur. (in the manual page but not in --help)man
-dia, --delete-interbracket-arrowsThis parameter deletes interbracket arrows. (in the manual page but not in --help)man
-aia, --add-interbracket-arrowsThis parameter adds interbracket arrows. (in the manual page but not in --help)man
-ias, --interbracket-arrow-style sBy default the -add- and -delete- parameters apply to all interbracket arrows. (in the manual page but not in --help)man
-wia, --warn-interbracket-arrowsIf this parameter is set, then a message is written to the error file in the following cases: (in the manual page but not in --help)man
-iac, --interbracket-arrow-complexity nThis parameter makes it possible to skip adding or deleting arrows following a container which is complex in some sense. (in the manual page but not in --help)man
--heredoc-indentation-update, -hiuThis parameter setting causes the leading whitespace of indented here-documents to be updated to agree with the indentation of the line of code on which they are introduced. (in the manual page but not in --help)man
--heredoc-extra-spaces, -hxs sThis parameter allows extra spaces to be added to the leading whitespace, thus indenting the heredoc text. (in the manual page but not in --help)man
--heredoc-tag-exclusion-pattern, -htxp sThis option prevents any of the --heredoc- parameters from operating on heredocs whose tags match the regex pattern string s. (in the manual page but not in --help)man
--heredoc-excess-length-option, -hxlo nThe value n of this option is an integer which determines what happens if an indented heredoc would exceed the maximum line length, as follows: (in the manual page but not in --help)man
--heredoc-convert-to, -hct sThis option converts between standard and indented heredocs. (in the manual page but not in --help)man
-wme, --warn-missing-elseThis flag tells perltidy to issue a warning if a program is missing a terminal else block. (in the manual page but not in --help)man
-ame, --add-missing-elseThis flag tells perltidy to output an empty else block wherever a program is missing a terminal else block. (in the manual page but not in --help)man
-amec, --add-missing-else-comment sThis string is a side comment which will be written to highlight a new empty else block. (in the manual page but not in --help)man
-iob, --ignore-old-breakpointsThis flag is a master switch which tells perltidy to ignore all line breakpoints in the input script to the maximum extend possible. (in the manual page but not in --help)man
-botc, --break-at-old-trailing-conditionalsA statement which is broken at one of the trailing conditional modifiers (in the manual page but not in --help)man
-botl, --break-at-old-trailing-loopsLikewise, a statement which is broken at one of the trailing loop modifiers (in the manual page but not in --help)man
-bos, --break-at-old-semicolon-breakpointsSemicolons are normally placed at the end of a statement. (in the manual page but not in --help)man
-kbb, --keep-old-breakpoints-before s (in the manual page but not in --help)man
-kba, --keep-old-breakpoints-after sThese parameters are each followed by a quoted string, s, containing a list of token types (separated only by spaces). (in the manual page but not in --help)man
-fbl, --freeze-blank-linesSet -fbl if you want to the blank lines in your script to remain exactly as they are. (in the manual page but not in --help)man
-bboc, --blanks-before-opening-commentsThis parameter adjusts the behavior of the previous parameter, -bbc, at an opening comment. (in the manual page but not in --help)man
-blbs, --blank-lines-before-subs nThe parameter -blbs=n requests that least n blank lines precede a sub definition which does not follow a comment and which is more than one-line long. (in the manual page but not in --help)man
-blbp, --blank-lines-before-packages nThe parameter -blbp=n requests that least n blank lines precede a package which does not follow a comment. (in the manual page but not in --help)man
-lbl nThis controls how often perltidy is allowed to add blank lines before certain block types (see previous section). (in the manual page but not in --help)man
-blao, --blank-lines-after-opening-block iThis control places a minimum of i blank lines after a line which ends with an opening block brace of a specified type. (in the manual page but not in --help)man
-blbc, --blank-lines-before-closing-block iThis control places a minimum of i blank lines before a line which begins with a closing block brace of a specified type. (in the manual page but not in --help)man
-blaol, --blank-lines-after-opening-block-list sThe parameter s is a list of block type keywords to which the flag -blao should apply. (in the manual page but not in --help)man
-blbcl, --blank-lines-before-closing-block-list sThis parameter is a list of block type keywords to which the flag -blbc should apply. (in the manual page but not in --help)man
-kblx, --keep-old-blank-lines-exceptions sMost of the blank line controls described above specify a minimum number of blank lines, rather than a maximum, so they cannot be used remove lines. (in the manual page but not in --help)man
-sob, --swallow-optional-blank-linesThis is equivalent to --keep-old-blank-lines=0 and is included for compatibility with previous versions. (in the manual page but not in --help)man
-nsob, --noswallow-optional-blank-linesThis is equivalent to --keep-old-blank-lines=1 and is included for compatibility with previous versions. (in the manual page but not in --help)man
-kgbl, --keyword-group-blanks-list s (in the manual page but not in --help)man
-kgbs, --keyword-group-blanks-size s (in the manual page but not in --help)man
-kgbb, --keyword-group-blanks-before n (in the manual page but not in --help)man
-kgba, --keyword-group-blanks-after n (in the manual page but not in --help)man
-kgbi, --keyword-group-blanks-inside is (in the manual page but not in --help)man
-kgbd, --keyword-group-blanks-delete is (in the manual page but not in --help)man
-kgbr, --keyword-group-blanks-repeat-count nIn addition, the following abbreviations are available to for simplified usage: (in the manual page but not in --help)man
-kgb, --keyword-group-blanks is (in the manual page but not in --help)man
-nkgb, --nokeyword-group-blanksBefore describing the meaning of the parameters in detail let us look at an example which is formatted with default parameter settings. (in the manual page but not in --help)man
-pbp, --perl-best-practices (in the manual page but not in --help)man
-olbxl, --one-line-block-exclusion-list sAs noted above, perltidy will, by default, attempt to create new one-line blocks for certain block types. (in the manual page but not in --help)man
-olbn, --one-line-block-nesting nNested one-line blocks are lines with code blocks which themselves contain code blocks. (in the manual page but not in --help)man
-olbs, --one-line-block-semicolons nThis flag controls the placement of semicolons at the end of one-line blocks. (in the manual page but not in --help)man
-xs, --extended-syntaxThis flag allows perltidy to handle certain common extensions to the standard syntax without complaint. (in the manual page but not in --help)man
-sal, --sub-alias-list sThis flag causes one or more words to be treated the same as if they were the keyword sub. (in the manual page but not in --help)man
-gal, --grep-alias-list sThis flag allows a code block following an external 'list operator' function to be formatted as if it followed one of the built-in keywords grep, map or sort. (in the manual page but not in --help)man
-gaxl, --grep-alias-exclusion-list sThe -gaxl=s flag provides a method for removing any of the default list operators given above by listing them in the string s. (in the manual page but not in --help)man
-uf, --use-feature sThis flag tells perltidy to allow or disallow the syntax associated a pragma in string s. (in the manual page but not in --help)man
--similar-keys-maximum-difference, -skmd nThe integer n gives the maximum number of differences to use when checking for hash key similarity. (in the manual page but not in --help)man
--similar-keys-minimum-length, -skml nHash keys with fewer than n characters will be ignored when checking for similar keys. (in the manual page but not in --help)man
--similar-keys-maximum-pairs, -skmp nEach similar pair found is displayed on one line of output, so this is equivalent to the maximum number of output lines. (in the manual page but not in --help)man
-wmrt stringTo restrict the checking, set the string equal to the letter(s) of that warning, any x, y, o, u, or s. (in the manual page but not in --help)man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.