Net::BitTorrent::Util - BitTorrent Related Utility Functions

Importing From Net::BitTorrent::Util

By default, nothing is exported.

You may import any of the following or use one or more of these tags:


Everything is imported into your namespace.


Net::BitTorrent's log callback uses these to indicate how 'important' a certain message is:


You get the two Bencode-related functions: bencode and bedecode. For more on Bencoding, see the BitTorrent Protocol documentation.


compact, uncompact

These are tracker response-related functions.


bencode ( ARGS )

Expects a single value (basic scalar, array reference, or hash reference) and returns a single string.

Bencoding is the BitTorrent protocol's basic serialization and data organization format. The specification supports integers, lists (arrays), dictionaries (hashes), and byte strings.

See Also: Convert::Bencode, Bencode, Convert::Bencode_XS

bdecode ( STRING )

Expects a bencoded string. The return value depends on the type of data contained in the string.

See Also: Convert::Bencode, Bencode, Convert::Bencode_XS

compact ( LIST )

Compacts a list of IPv4:port strings into a single string.

A compact peer is 6 bytes; the first four bytes are the host (in network byte order), the last two bytes are the port (again in network byte order).

uncompact ( STRING )

Inflates a compacted string of peers and returns a list of IPv4:port strings.


Sanko Robinson <> -


License and Legal

Copyright (C) 2008 by Sanko Robinson <>

This program is free software; you can redistribute it and/or modify it under the terms of The Artistic License 2.0. See the LICENSE file included with this distribution or For clarification, see

When separated from the distribution, all POD documentation is covered by the Creative Commons Attribution-Share Alike 3.0 License. See For clarification, see

Neither this module nor the Author is affiliated with BitTorrent, Inc.