Moose::Meta::Attribute::Native::Trait::Code(3) User Contributed Perl Documentation Moose::Meta::Attribute::Native::Trait::Code(3)

# [SYNOPSIS](#SYNOPSIS)

```
  package Foo;
  use Moose;
  has 'callback' => (
      traits  => ['Code'],
      is      => 'ro',
      isa     => 'CodeRef',
      default => sub {
          sub { print "called" }
      },
      handles => {
          call => 'execute',
      },
  );
  my $foo = Foo->new;
  $foo->call;    # prints "called"
```

# [DESCRIPTION](#DESCRIPTION)

This trait provides native delegation methods for code references.

# [DEFAULT TYPE](#DEFAULT_TYPE)

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

# [PROVIDED METHODS](#PROVIDED_METHODS)

- **execute(@args)**
  
  Calls the coderef with the given args.
- **execute\_method(@args)**
  
  Calls the coderef with the instance as invocant and given args.

# [BUGS](#BUGS)

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

2026-10-01 perl v5.44.0

---

Document: Moose::Meta::Attribute::Native::Trait::Code(3pm) from perl-moose 2.4001-r0 (Chainguard OS)
Source: https://github.com/moose/Moose
