Perl::Critic::Policy::CodeLayout::ProhibitHardTabs(3pm)

Perl::Critic::Policy::CodeLayout::ProhibitHardTabs3pm

Use spaces instead of tabs.

Affiliation

This Policy is part of the core Perl::Critic distribution.

Overview

Putting hard tabs in your source code (or POD) is one of the worst things you can do to your co-workers and colleagues, especially if those tabs are anywhere other than a leading position. Because various applications and devices represent tabs differently, they can cause you code to look vastly different to other people. Any decent editor can be configured to expand tabs into spaces. Perl::Tidy also does this for you.

This Policy catches all tabs in your source code, including POD, quotes, and HEREDOCs. The contents of the "__DATA__" section are not examined.

Configuration

Hard tabs in a string are always forbidden (use "\t" instead). But hard tabs in a leading position are allowed when they are used to indent code statements, qw() word lists, and regular expressions with the "/x" modifier. However, if you want to forbid all tabs everywhere, then add this to your .perlcriticrc file:

    [CodeLayout::ProhibitHardTabs]
    allow_leading_tabs = 0

Notes

Beware that Perl::Critic may report the location of the string that contains the tab, not the actual location of the tab, so you may need to do some hunting. I'll try and fix this in the future.

Releases

10 releases since Debian 5.0 (Lenny); the text changed 9 times.

  1. 5.0
  2. 6.0
  3. 7
  4. 8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Author

Jeffrey Ryan Thalhammer <[email protected]>

From perl-perl-critic 1.156-3 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.