http://www.perlmonks.org?node_id=181191
Category: Win32 Stuff
Author/Contact Info Cory Johns (a.k.a. Bunny Boy Fu)
Description:

Simple script to change the MS Windows wallpaper from the command-line. Really just a wrapper around the SetSystemParametersInfo() API call, via Win32::API.

I'm using it as part of another small app. I'm writing (for my GF) to pick random papers. :)

#!/usr/bin/perl

use Win32::API;

use constant SPI_SETDESKWALLPAPER  => 20;
use constant SPIF_UPDATEANDSENDINI => 3;
use constant NULL                  => 0;

my $syspinf = Win32::API->new('user32','SystemParametersInfo', [I,I,P,
+I], I)
  or die "Could not import function.\n";

$syspinf->Call(SPI_SETDESKWALLPAPER, 0, $ARGV[0], SPIF_UPDATEANDSENDIN
+I);