Help language development. Donate to The Perl Foundation

Test::Util::ServerPort zef:jonathanstowe last updated on 2023-07-05



Get a free server port for testing with

Build Status


use Test::Util::ServerPort;

my $port = get-unused-port();

# .. start some server with the port


This is a utility to help with the testing of TCP server software.

It exports a single subroutine get-unused-port that will return a port number in the range 1025 - 65535 (or a specified range as an argument,) that is free to be used by a listening socket. It checks by attempting to listen on a random port on the range until it finds one that is not already bound.


Assuming you have a working Rakudo installation you should be able to install this with zef :

# From the source directory

zef install .

# Remote installation

zef install Test::Util::ServerPort


Suggestions and patches that may make it more useful in your software are welcomed via github at:


This is free software.

Please see the LICENCE file in the distribution for details.

© Jonathan Stowe 2016 - 2021