---
name: "Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless"
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::ProhibitOneArgBless"
---

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

Write "bless {}, $class;" instead of just "bless {};".

## NAME

Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless - Write "bless {}, $class;" instead of just "bless {};".

## AFFILIATION

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

## DESCRIPTION

Always use the two-argument form of `"bless"` because it allows subclasses to inherit your constructor.

```
    sub new {
        my $class = shift;
        my $self = bless {};          # not ok
        my $self = bless {}, $class;  # ok
        return $self;
    }
```

## CONFIGURATION

This Policy is not configurable except for the standard options.

## AUTHOR

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

## COPYRIGHT

Copyright (c) 2005-2023 Imaginative Software Systems

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