in reply to System calls from CGI script

my $cmd = sprintf("perl %s", $update_location); system($cmd);

You could avoid shelling out /bin/sh and a new instance of perl via require:

require $update_location;

This way your required script will also run with taint checking, which is always a good thing to do for CGI scripts (++ for the OP for that alone). Some points to be aware of:

This might fit - or not - your requirements; it is just another way to do it (and a safer one IMHO).

perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'