say I was uploading a file in perl, well how would I find the size of that file before uploading it
That sounds like client side.
JUST the CGI module, can't you do it with lenth(), or something.
That sounds like server side.
It sounds like you want to do a simple file upload in cgi. CGI covers that well. The clientside cruft sounds like you have to deal with inexperienced page designers. It may be a political problem to seperate the two.
On serverside, you can set CGI.pm's upload limit, but you have no way (we all hope) of illegally cracking the clients file system to preview uploads.
Update: ++rob_au, your remarks are right on the money.