---
name: "MooseX::HasDefaults"
section: "3pm"
platform: "linux"
package: "libmoosex-hasdefaults-perl"
version: "0.03-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MooseX::HasDefaults"
---

# MooseX::HasDefaults(3pm)

default "is" to "ro" or "rw" for all attributes

## NAME

MooseX::HasDefaults - default "is" to "ro" or "rw" for all attributes

## SYNOPSIS

```
    package Person;
    use Moose;
    use MooseX::HasDefaults::RO;
    has name => (
        isa => 'Str',
    );
    has age => (
        is  => 'rw',
        isa => 'Int',
        documentation => "Changes most years",
    );
```

## DESCRIPTION

The module MooseX::HasDefaults::RO defaults `"is"` to `"ro"`.

The module MooseX::HasDefaults::RW defaults `"is"` to `"rw"`.

If you pass a specific value to any `"has"`'s `"is"`, that overrides the default. If you do not want an accessor, pass `"is => undef"`.

## AUTHOR

Shawn M Moore, `"sartak@gmail.com"`

## SEE ALSO

- MooseX::AttributeDefaults

  This requires its users to be MOP savvy, and is a bit too much typing for the common case of defaulting `"is"`.

- MooseX::Attributes::Curried

  This solves a similar need by letting users create sugar functions. But people like `"has"`.

## COPYRIGHT AND LICENSE

Copyright 2009 Infinity Interactive

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