AnyEvent is not an event model itself, it only interfaces to whatever event
model the main program happens to use, in a pragmatic way. For event models,
the statement "there can only be one" is a bitter reality: In general, only
one event loop can be active at the same time in a process. This module
cannot change this, but it can hide the differences between them.
.
The goal of AnyEvent is to offer module authors the ability to do event
programming (waiting for I/O or timer events) without subscribing to a
religion, a way of living, and most importantly: without forcing your module
users into the same thing by forcing them to use the same event model you use.
.
During the first call of any watcher-creation method, the module tries to
detect the currently loaded event loop by probing whether one of the
following modules is already loaded: EV, AnyEvent::Loop, Event, Glib, Tk,
Event::Lib, Qt, POE. The first one found is used. If none are detected, the
module tries to load the first four modules in the order given; but note that
if EV is not available, the pure-perl AnyEvent::Loop should always work, so
the other two are not normally tried.