Absolutely, here you go, with minor redaction due to some restrictions from my client:
use strict;
use vars qw/..../;
use Archive::Zip qw/:ERROR_CODES/;
use CGI;
use Data::Alias;
use Date::Calc qw/Day_of_Week Decode_Date_US Decode_Month/;
use Date::Extract;
use Digest::SHA qw/sha1_base64/;
use File::Copy;
use GDBM_File;
use HTML::Defang;
use HTML::Entities;
use Image::Size;
use LWP::MediaTypes qw(guess_media_type read_media_types);
use MIME::Entity;
use MIME::Base64;
use Text::Metaphone;
use Time::HiRes qw/time/;
BEGIN {
$|=1;
....
%dispatch=(
'edit' => \&do_edit,
'save' => \&do_save,
'undo' => \&do_undo,
'prior' => \&do_prior,
'next' => \&do_next,
'read' => \&do_read,
....
};
}
$query=new CGI;
%cookie=$query->cookie('app');
%P=();
for $key ($query->param) {
$value=encode_entities($query->param($key),'\x80-\xFF');
$P{$key}=$value;
}
....
HTH,
SSF