Role::HasMessage::Errf(3) User Contributed Perl Documentation Role::HasMessage::Errf(3)

# [SYNOPSIS](#SYNOPSIS)

In your class...

```
  package Errfy;
  use Moose;
  with 'Role::HasMessage::Errf';
  has payload => (
    is  => 'ro',
    isa => 'HashRef',
    required => 1,
  );
```

Then...

```
  my $thing = Errfy->new({
    message => "%{error_count;error}n encountered at %{when}t",
    payload => {
      error_count => 2,
      when        => time,
    },
  });
  # prints: 2 errors encountered at 2010-10-20 19:23:42
  print $thing->message;
```

# [DESCRIPTION](#DESCRIPTION)

Role::HasMessage::Errf is an implementation of Role::HasMessage that uses String::Errf to format "sprintf"-like message strings. It adds a "message\_fmt" attribute, initialized by the "message" argument. The value should be a String::Errf format string.

When the provided "message" method is called, it will fill in the format string with the hashref returned by calling the "payload" method, which *must* *be implemented by the including class*.

Role::HasMessage::Errf is a parameterized role. The "default" parameter lets you set a default format string or callback. The "lazy" parameter sets whether or not the "message\_fmt" attribute is lazy. Setting it lazy will require that a default is provided.

2026-10-25 perl v5.44.0

---

Document: Role::HasMessage::Errf(3pm) from perl-role-hasmessage 0.007-r4 (Chainguard OS)
Source: https://github.com/rjbs/Role-HasMessage
