---
name: "MooseX::POE::SweetArgs"
section: "3pm"
platform: "linux"
package: "libmoosex-poe-perl"
version: "0.215-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MooseX::POE::SweetArgs"
---

# MooseX::POE::SweetArgs(3pm)

sugar around MooseX::POE event arguments

## NAME

MooseX::POE::SweetArgs - sugar around MooseX::POE event arguments

## VERSION

version 0.215

## SYNOPSIS

```
  package Thing;
  use MooseX::POE::SweetArgs;
  # declare events like usual
  event on_success => sub {
    # unpack args like a Perl sub, not a POE event
    my ($self, $foo, $bar) = @_;
    ...
    POE::Kernel->yield('foo');
    ...
  };
```

## DESCRIPTION

Normally, when using MooseX::POE, subs declared as events need to use POE macros for unpacking `@_`, e.g.:

```
  my ($self, $foo, $bar) = @_[OBJECT, ARG0..$#_];
```

Using MooseX::POE::SweetArgs as a metaclass lets you avoid this, and just use `@_` as normal:

```
  my ($self, $foo, $bar) = @_;
```

Since the POE kernel is a singleton, you can access it using class methods, as shown in the synopsis.

In all other respects, this behaves exactly like MooseX::POE

## AUTHORS

- •

  Chris Prather \<chris@prather.org\>

- •

  Ash Berlin \<ash@cpan.org\>

- •

  Chris Williams \<chris@bingosnet.co.uk\>

- •

  Yuval (nothingmuch) Kogman

- •

  Torsten Raudssus \<torsten@raudssus.de\> \<http://www.raudssus.de/\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Chris Prather, Ash Berlin, Chris Williams, Yuval Kogman, Torsten Raudssus.

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