---
name: "AnyEvent::Impl::Irssi"
section: "3pm"
platform: "linux"
package: "perl-anyevent"
version: "4:7.17-12"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/AnyEvent::Impl::Irssi"
---

# AnyEvent::Impl::Irssi(3pm)

AnyEvent adaptor for Irssi

## NAME

AnyEvent::Impl::Irssi - AnyEvent adaptor for Irssi

## SYNOPSIS

```
   use AnyEvent;

   # this module gets loaded automatically when running under irssi
```

## DESCRIPTION

This module provides transparent support for AnyEvent. You don't have to do anything to make Irssi scripts work with AnyEvent.

Limitations of this backend and implementation details:

- •

  This backend does not support blocking waits.

  That means you must set a callback on any condvars, or otherwise make sure to never call `"recv"` on a condvar that hasn't been signalled yet.

- •

  Child exits will be handled by AnyEvent.

  AnyEvent will take over child handling, as Irssi only polls for children once/second and cannot handle unspecific child watchers.

  This *should* have no negative effect, as AnyEvent will emit a pidwait signal just like irssi itself would.

- •

  Artificial timer delays.

  Irssi artificially enforces timers to have at least a 10ms delay (by croaking, even).

  This means that some applications will be limited to a rate of 100Hz (for example, Coro::AnyEvent thread scheduling).

- •

  Irssi leaks memory like hell.

  Yeah.

Apart from that, documentation is notoriously wrong (e.g. file handles are not supported by `"input_add"`, contrary to documentation), hooking into irssi has to be done in... weird... ways, but otherwise, Irssi is surprisingly full-featured (for basically being a hack).

## SEE ALSO

AnyEvent, Irssi.

## AUTHOR

```
 Marc Lehmann <schmorp@schmorp.de>
 http://anyevent.schmorp.de
```
