---
name: "Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading"
section: "3pm"
platform: "linux"
package: "perl-perl-critic"
version: "1.156-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading"
---

# Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading(3pm)

AUTOLOAD methods should be avoided.

## NAME

Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading - AUTOLOAD methods should be avoided.

## AFFILIATION

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

## DESCRIPTION

Declaring a subroutine with the name `"AUTOLOAD"` will violate this Policy.  The `"AUTOLOAD"` mechanism is an easy way to generate methods for your classes, but unless they are carefully written, those classes are difficult to inherit from.  And over time, the `"AUTOLOAD"` method will become more and more complex as it becomes responsible for dispatching more and more functions.  You're better off writing explicit accessor methods.  Editor macros can help make this a little easier.

## CONFIGURATION

This Policy is not configurable except for the standard options.

## AUTHOR

Jeffrey Ryan Thalhammer \<jeff@imaginative-software.com\>

## COPYRIGHT

Copyright (c) 2006-2011 Imaginative Software Systems.  All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
