View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Marcus Holland-Moritz > Devel-PPPort > soak


Annotate this POD


New  1
Open  1
Stalled  5
View/Report Bugs
Source   Latest Release: Devel-PPPort-3.42


soak - Test Perl modules with multiple Perl releases


  soak [options] [perl ...]

  --make=program     override name of make program ($Config{make})
  --min=version      use at least this version of perl
  --mmargs=options   pass options to Makefile.PL (multiple --mmargs possible)
  --verbose          be verbose
  --nocolor          don't use colored output


The soak utility can be used to test Perl modules with multiple Perl releases or build options. It automates the task of running Makefile.PL and the modules test suite.

It is not primarily intended for cross-platform checking, so don't expect it to work on all platforms.


To test your favourite module, just change to its root directory (where the Makefile.PL is located) and run:


This will automatically look for Perl binaries installed on your system.

Alternatively, you can explicitly pass soak a list of Perl binaries:

  soak perl5.8.6 perl5.9.2

Last but not least, you can pass it a list of directories to recursively search for Perl binaries, for example:

  soak /tmp/perl/install /usr/bin

All of the above examples will run

  perl Makefile.PL
  make test

for your module and report success or failure.

If your Makefile.PL can take arguments, you may also want to test different configurations for your module. You can do so with the --mmargs option:

  soak --mmargs=' ' --mmargs='CCFLAGS=-Wextra' --mmargs='enable-debug'

This will run

  perl Makefile.PL
  make test
  perl Makefile.PL CCFLAGS=-Wextra
  make test
  perl Makefile.PL enable-debug
  make test

for each Perl binary.

If you have a directory full of different Perl binaries, but your module isn't expected to work with ancient perls, you can use the --min option to specify the minimum version a Perl binary must have to be chosen for testing:

  soak --min=5.8.1

Usually, the output of soak is rather terse, to give you a good overview. If you'd like to see more of what's going on, use the --verbose option:

  soak --verbose


Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz.

Version 2.x, Copyright (C) 2001, Paul Marquess.

Version 1.x, Copyright (C) 1999, Kenneth Albanowski.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


See Devel::PPPort.

syntax highlighting: