Even without shell access, you can often install modules. I frequently write short shell scripts, upload them into my Web hoster's cgi-bin directory, then use them to compile and install my Perl modules:
#!/bin/bash -x
printf "Content-type: text/plain\n\n"
exec 2>&1
H=/home/virtual/site199/fst/home/suspectclass
export PERL5LIB=$H/lib/perl5
MOD=Email-Valid-0.14
cd $H/src
tar xvzf "$MOD.tar.gz"
cd "$MOD"
make clean
perl Makefile.PL LIB=$H/lib/perl5 &&
make &&
make test &&
make install
I just set
H to my home directory (which I often get by running a shell script that just does
pwd, since I may be chroot'd when I FTP in), then browse to the CGI script. On Mozilla at least, the lines come across in real time.
Setting PREFIX may work even better than just setting LIB, but I haven't tried it (I will next time).