I've recently been working on putting together modules for image processing in Perl. One thing that keeps coming up when I write code that I want others to run is that they don't have the same images on their system as I do. So I put together a module that wraps up access to some standard test images from the USC SIPI image database. So now, instead of telling people to go download the right set of images, all they have to do is install Data::TestImage from CPAN and it will in turn download and extract the image database to a shared location. Then you can just run

use Data :: TestImage ; my $image = Data :: TestImage -> get_image ( 'mandrill' );

and $image will contain the path to a TIFF file with the mandrill test image. Simple!

I put in a couple of nice tweaks in the install process too: it doesn't install all 130 MB of the USC SIPI database by default, but you can set an environment variable and it will install only the portions you ask for.

I got some inspiration from the MATLAB Image Toolbox's built-in images and the TestImages.jl Julia package. But mine is more extensible!