Perl: Modules

Modules listed on this page is sorta "private", used internally in our group only. Most of my modules released publicly on CPAN.

You can download all these modules, they all licensed under usual perl license or MIT license. Or your can install and update them from my CPAN mirror.

General purpose

POWER::Utils
Bundle of useful subroutines.
POWER::Utils::HexDump
Helpers for working with hex dumps: convert between hex dump and byte streams, diff hex dumps. Understand many hex dump formats.
POWER::Utils::IO
Make nonblocking I/O ease.
POWER::Utils::Resource
Provide information about used resources which may help with debugging or soft limiting resources usage.
POWER::Email
Send emails. Main features:
  • Simple email templates.
  • Attach files.
  • Sign/encrypt with GPG.
POWER::GPG
Reliable and secure interface to GnuPG.

I/O (generation 2)

These modules was developed and actively used around 2000-2002, nowadays there are better alternatives exists on CPAN (check my IO::Stream and other modules like AnyEvent::HTTP or Mojo::UserAgent).
POWER::Multi::GET
Fast parallel HTTP/HTTPS/FTP downloader. Main features:
  • Simultaneous downloading of several URLs from single process, without threads usage.
  • Simultaneous execution of several DNS requests without fork() or exec() using POWER::NB::Resolver.
  • HTTP proxy support (global and per every url).
  • HTTP support with/without HTTP proxy.
  • FTP support only with HTTP proxy.
  • GET and POST methods.
  • Auto redirects.
  • Full cookie support including expires.
  • Request gzip'ed content to minimize download size and time.
  • Traffic limitation.
  • Independent processing of all the URLs:
    • new URL could be added while processing other urls,
    • URL could be deleted from processing at any time (for ex. if you see something in http-header you can stop downloading this URL without wait for complete downloading this URL).
  • Low CPU loading.
  • Handle all prossible errors.
  • Powerful timeout configuration.
  • Number of simultaneous downloading URLs can be configured.
POWER::SSL
SSLv3 client (pure perl). Documentation in russian.
POWER::NB::IO
Non-blocking input/output for files and TCP/UDP sockets. Documentation in russian.
POWER::NB::Resolver
Non-blocking parallel DNS resolver. Documentation in russian.

HTML parsing

Regexp::Common::Fast
Speedup CPAN module Regexp::Common by adding regexp caching.
Regexp::Common::RealHTML
Provide regexp for parsing HTML in way similar to web browsers (i.e. non-standard compliant!). Documentation in russian.