Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
POE is a portable perl multitasking and networking framework for any event loop.
Perl

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs
lib
mylib
samples
tests
Changes
HISTORY
MANIFEST
Makefile.PL
README

README

$Id$


The bulk of this README's information has migrated to the POE manpage.

--------------------
Distribution Details
--------------------

This distribution comes with several sample and tutorial programs in
its samples/ directory.  These programs are NOT installed because they
have limited use and take up about 400 kilobytes (around half of the
total distribution).

The lib/ directory includes a few useful utilities, including a
relatively portable pipe creator.  It uses pipe() or falls back to
INET domain sockets.  There's also a small test coverage tracer
module, harness, and report.  The test coverage summary at the end of
this file is part of the report.  These utilities aren't installed
either.

The test programs, in t/, may also be interesting examples, although
they're more geared towards exercising POE's bits.  The tests also
aren't installed.

All in all, the actual installed bits of POE are probably around 1/4
of the total distribution, and half of them are PODs.

------------------------------
Compatibility Between Versions
------------------------------

As POE moves closer towards the Common Sense axis, it sometimes
diverges away from the Backwards Compatible axis.  If this version is
being installed over a previous one, please check the Changes file to
see what it might break.  Interface changes usually are documented and
set off with a little text icon.

------------------
Basic Installation
------------------

POE may be installed through the CPAN shell in the usual CPAN shell
manner.  It typically is:

  perl -MCPAN -e 'install POE'

It involves a little more work if you have an older CPAN shell:

  perl -MCPAN -e shell
  install POE

-------------------
Manual Installation
-------------------

POE can also be installed manually.  The latest CPAN version can be
found at <ftp://ftp.cpan.org/pub/CPAN/authors/id/R/RC/RCAPUTO/> or in
a similarly named directory at your favorite CPAN mirror.  The most
recent development snapshot, which only rarely contains heinous
showstopper bugs, is available from POE's web site at
<http://poe.perl.org/>.

Downloading and unpacking the distribution are left as an exercise for
the reader.  To "build" and test it afterwards:

  perl Makefile.PL
  make test

The POE manpage discusses system requirements and compatibility
issues.  You can preview it with:

  perldoc ./POE.pm

There are several sample programs in the samples subdirectory.  The
POE manpage briefly explains them.

  ls -l samples

Finally you can install it:

  make install

------------
Test Results
------------

Note on test results: Some of the tests, like Tk's and Gtk's, are
interactive, if only to place a window.  Some of the tests have delays
in them to make sure signals are caught.  These delays can cause the
test times to vary widely, so times aren't included in the results.

** POE 0.12 on OS/2

Hardware: Cyrix P166+; 64MB RAM
System  : OS/2 4.0, Fix 13
Perl    : v5.6.0
Gtk     : (not installed)
Tk      : (not installed)
Event   : (not installed)

  All tests successful, 4 tests skipped.
  Files=22, Tests=398

** POE 0.12 on FreeBSD

Hardware: AMD 486-40; 16MB RAM
System  : FreeBSD 4.0-STABLE
Perl    : v5.6.0
Gtk     : 0.7000
Tk      : 800.021
Event   : 0.79

  All tests successful.
  Files=22, Tests=423

** POE 0.12 on Linux

Hardware: dual Celeron 500; 265MB RAM
System  : Linux 2.2.15 SMP
Perl    : v5.6.0
Gtk     : (not installed)
Tk      : (not installed)
Event   : 0.79

  All tests successful, 2 tests skipped.
  Files=22, Tests=407

These coverage results are for POE 0.1111 on the FreeBSD machine.
This machine more thoroughly tests different POE options, so the
coverage results are more meaningful.  The results are misleading,
however, even at their best.

  Source File                         =   Ran / Total = Covered
  POE.pm                              =    23 /    24 =  95.83%
  POE/Component.pm                    =     5 /     5 = 100.00%
  POE/Component/Server/TCP.pm         =    23 /    23 = 100.00%
  POE/Driver.pm                       =     5 /     5 = 100.00%
  POE/Driver/SysRW.pm                 =    42 /    54 =  77.78%
  POE/Filter.pm                       =     5 /     5 = 100.00%
  POE/Filter/Block.pm                 =    37 /    37 = 100.00%
  POE/Filter/HTTPD.pm                 =    11 /    88 =  12.50%
  POE/Filter/Line.pm                  =    77 /    82 =  93.90%
  POE/Filter/Reference.pm             =    60 /    66 =  90.91%
  POE/Filter/Stream.pm                =    11 /    11 = 100.00%
  POE/Kernel.pm                       =   623 /   839 =  74.26%
  POE/NFA.pm                          =     9 /   144 =   6.25%
  POE/Preprocessor.pm                 =   146 /   166 =  87.95%
  POE/Session.pm                      =   126 /   181 =  69.61%
  POE/Wheel.pm                        =    11 /    11 = 100.00%
  POE/Wheel/FollowTail.pm             =    66 /    87 =  75.86%
  POE/Wheel/ListenAccept.pm           =    33 /    47 =  70.21%
  POE/Wheel/ReadWrite.pm              =   111 /   184 =  60.33%
  POE/Wheel/SocketFactory.pm          =   179 /   216 =  82.87%
  All Told                            =  1603 /  2275 =  70.46%

Thanks for reading!

-- Rocco Caputo / troc@netrus.net
Something went wrong with that request. Please try again.