Files
everything-claude-code/rules/perl/coding-style.md
2026-03-10 20:42:54 -07:00

1.1 KiB

paths
paths
**/*.pl
**/*.pm
**/*.t
**/*.psgi
**/*.cgi

Perl Coding Style

This file extends common/coding-style.md with Perl-specific content.

Standards

  • Always use v5.36 (enables strict, warnings, say, subroutine signatures)
  • Use subroutine signatures — never unpack @_ manually
  • Prefer say over print with explicit newlines

Immutability

  • Use Moo with is => 'ro' and Types::Standard for all attributes
  • Never use blessed hashrefs directly — always use Moo/Moose accessors
  • OO override note: Moo has attributes with builder or default are acceptable for computed read-only values

Formatting

Use perltidy with these settings:

-i=4    # 4-space indent
-l=100  # 100 char line length
-ce     # cuddled else
-bar    # opening brace always right

Linting

Use perlcritic at severity 3 with themes: core, pbp, security.

perlcritic --severity 3 --theme 'core || pbp || security' lib/

Reference

See skill: perl-patterns for comprehensive modern Perl idioms and best practices.