A Perl script implements a singing, musical Internet


The boom-sender script is installed on the hosted machine; the Perl modules required for this are available from CPAN. AccessLog::Parser has dependencies for Getopt::Helpful, Date::Piece, File::Fu, and Class::Accessor::Classy.

If your provider refuses to install these, you can add a module directory in the user-writable area on the hosted machine and add the directive

use lib "/home/name/perl-modules";

to the Perl script to point it to the new location.

Alternatively, you could set up your own Perl installation in the user-writable area of the hosted machine.

Also, you could consider the PAR toolkit, which allows you to pack module archives and even executables without installation worries in a similar style to Java JAR files.

To reflect your local setup, you will need to modify the URL sound file mappings set up by the file2sound() function in boom-sender.

Make sure the sound files you reference are available on the sound server.On the sound server, the sound files are installed in $SOUND_DIR. The /usr/share/sounds/purple directory has a useful selection of short sounds.

In this directory the Pidgin IM client (formerly known as Gaim) stores the sound data that the program outputs when buddies log on or off or that it uses to notify the user of incoming or outgoing instant messages.

After starting the sound server boom-receiver and letting it run in the foreground, performing a short test with the telnet client in another terminal, and setting up the SSH tunnel referred to earlier, you can launch your logfile monitoring system script on the hosted machine, sit back, and enjoy the concert.


In addition to the requested URL paths, the sound server could also play sounds whenever a request fails. The web server stores the return code for each request in access.log, and the log parser provides access to it with the $fields{code} hash entry.

To make sure you get the system administrator's attention, you might like to use flatulent noises or explosions for this.


  1. USA newsletter (in German): http://usarundbrief.com
  2. Clark, Jim. Netscape Time: The Making of the Billion-Dollar Startup That Took on Microsoft. St. Martin's Griffin, 2000.
  3. Cozens, Simon. Advanced Perl Programming, 2nd edition. O'Reilly. 2005.
  4. Listings for this article: http://www.linux-magazine.com/resources/article_code

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Twisted

    The Twisted framework makes it so easy to create network-aware applications in Python. Twisted speaks all the major Internet protocols, from mail through chat, and it can handle encryption. We’ll show you how to set up a personal web server with Twisted.

  • MPD and Cantata

    The MPD server helps you manage your music collection flexibly and remotely and integrates external content.

  • PulseEffects

    A wildly flashing equalizer once was part of the basic equipment of every decent stereo system. PulseEffects upgrades the PulseAudio server to include these slide controls – and offers even more.

  • LTSP

    The Linux Terminal Server Project offers a comprehensive approach to terminal services in Linux, including easy access to local sound cards, printers, and USB sticks.

  • MIDI with Linux

    A MIDI keyboard is a useful extension to any audio workstation. Learn how to connect a MIDI instrument to your Linux sound studio through a MIDI interface device.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.