---
name: "Moose::Meta::Attribute::Native::Trait::Number"
section: "3pm"
platform: "linux"
package: "perl-moose"
version: "2.4001-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Moose::Meta::Attribute::Native::Trait::Number"
---

# Moose::Meta::Attribute::Native::Trait::Number(3pm)

Helper trait for Num attributes

## NAME

Moose::Meta::Attribute::Native::Trait::Number - Helper trait for Num attributes

## VERSION

version 2.4001

## SYNOPSIS

```
  package Real;
  use Moose;
  has 'integer' => (
      traits  => ['Number'],
      is      => 'ro',
      isa     => 'Num',
      default => 5,
      handles => {
          set => 'set',
          add => 'add',
          sub => 'sub',
          mul => 'mul',
          div => 'div',
          mod => 'mod',
          abs => 'abs',
      },
  );
  my $real = Real->new();
  $real->add(5);    # same as $real->integer($real->integer + 5);
  $real->sub(2);    # same as $real->integer($real->integer - 2);
```

## DESCRIPTION

This trait provides native delegation methods for numbers. All of the operations correspond to arithmetic operations like addition or multiplication.

## DEFAULT TYPE

If you don't provide an `"isa"` value for your attribute, it will default to `"Num"`.

## PROVIDED METHODS

All of these methods modify the attribute's value in place. All methods return the new value.

- •

  **add($value)**

  Adds the current value of the attribute to `$value`.

- •

  **sub($value)**

  Subtracts `$value` from the current value of the attribute.

- •

  **mul($value)**

  Multiplies the current value of the attribute by `$value`.

- •

  **div($value)**

  Divides the current value of the attribute by `$value`.

- •

  **mod($value)**

  Returns the current value of the attribute modulo `$value`.

- •

  **abs**

  Sets the current value of the attribute to its absolute value.

## BUGS

See "BUGS" in Moose for details on reporting bugs.

## AUTHORS

- •

  Stevan Little \<stevan@cpan.org\>

- •

  Dave Rolsky \<autarch@urth.org\>

- •

  Jesse Luehrs \<doy@cpan.org\>

- •

  Shawn M Moore \<sartak@cpan.org\>

- •

  יובל קוג'מן (Yuval Kogman) \<nothingmuch@woobling.org\>

- •

  Karen Etheridge \<ether@cpan.org\>

- •

  Florian Ragwitz \<rafl@debian.org\>

- •

  Hans Dieter Pearcey \<hdp@cpan.org\>

- •

  Chris Prather \<chris@prather.org\>

- •

  Matt S Trout \<mstrout@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2006 by Infinity Interactive, Inc.

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