Category Archives: Coding

Fixing WebCollage Screensaver “Use of uninitialized value $vals” error

Tired of getting errors scrolling down the screen in the WebCollage Linux screensaver? So was I.

WebCollage (here’s the link to the .deb on Ubuntu), for a bit of background, is a nice Xorg screensaver for Linux that displays a random collage of images fetched from various search systems on the Internet and popped up in an array as a screensaver. It gives you a weird and occasionally surreal collage that I always find interesting.

Reading the error stating an unset variable “$vals” was to blame for the for thousandth time I decided to take action. The perl file, located somewhere on the file system, was calling an array that didn’t fetch anything leading to the following.

As it turns out, there is an unset variable “$vals” on line 264 and 268 of the Perl file (/usr/share/perl5/HTTP/ on my Debian system). There are multiple ways to fix this error. I’m just going to check to see if it’s defined before referencing. Here’s my changes to line 264 on:

#if (index($vals, "\n") >= 0 ) {
if (defined $vals) {
$vals = _process_newline($vals, $endl);
if (defined $vals){
push @result, $field . ': ' . $vals;