Perl Binding

Source Code

Development happens at:

http://github.com/lestrrat/ZeroMQ-Perl

The most recent release can always be found at:

http://search.cpan.org/dist/ZeroMQ

Build and installation

You need to install the 0MQ library and the perl headers (usually the perl-dev package on linux) before you attempt installing the Perl bindings. Once that is done, you can install the ZeroMQ Perl module like any other Perl module from CPAN (possibly as root user):

$ cpan ZeroMQ

This will automatically install all Perl module dependencies. You may choose to install the dependencies manually and download the release tarball from the above URL. If so, you can extract it and then simply do the following to compile, test and install the Perl bindings:

$ perl Build.PL
$ ./Build test
$ sudo ./Build install

Documentation

A fairly complete documentation can be found at

http://search.cpan.org/perldoc?ZeroMQ

Bug Reporting

If you encounter problems please fill a bug report at:

http://github.com/lestrrat/ZeroMQ-Perl/issues

Mailing List

Discussions about this language binding take place on the general zeromq-dev list. Please CC the maintainer (cf. the documentation for the contact address) in any discussion.

Also available

Bindings with less code, more parity with the C API, support for AnyEvent, and experimental zero-copy support are available from:

https://github.com/jrockway/zeromq-raw/

https://github.com/jrockway/anyevent-zeromq/

Master is considered stable and is used in production. The zero-copy branch is experimental and probably won't get you much because Perl loves copying anyway :)

The AnyEvent bindings come with a raw AnyEvent::ZeroMQ::Handle module, and comes with an OO wrapper for each message type in ZeroMQ, allowing you to use higher-level idioms in your code.

Also note that while the bindings on CPAN come with a module called ZeroMQ::Raw, the AnyEvent support in AnyEvent::ZeroMQ does not work with that one, you need the version from jrockway's github.

Please report any bugs to the ZeroMQ mailing list or on the github page. The binding has been tested with and without ithreads and multiplicity, and with Perls 5.10-5.14.