POE is a framework for creating event-driven multitasking programs in Perl.
POE parcels out execution time among one or more tasks, called sessions. Sessions multitask through cooperation (at least until Perl's threads become mainstream). That is, each session returns execution to POE as quickly as possible so it can parcel out time to the next.