I'm pretty sure that the default configuration for Ubuntu keeps its documents in "/var/www/". So if you just deposit a file in that directory, it will be available on your web server. No need to upload anything.
For example, if you save an image as "/var/www/fluffy-kitten.jpeg" then you can view the image at http://localhost/fluffy-kitten.jpeg.
Next step is probably to install the libapache2-mod-perl2 package for Ubuntu. It is possible to run Perl scripts using Apache CGI's support, but mod_perl is generally seen as a better bet, and will pretty much always result in faster page loading. (The slight disadvantage to mod_perl is that after making changes to your script you generally need to restart Apache. There are workarounds for this, but nothing I've found 100% satisfactory.)
I'd also strongly suggest installing Plack from CPAN, which is a package that can act as "glue" between your Perl script and the web server.
Once you have all that set up, then here's a little skeleton to get you started...
### This file is /var/www/plack-example/.htaccess
### Note the dot in the filename!
SetHandler perl-script
PerlResponseHandler Plack::Handler::Apache2
PerlSetVar psgi_app /var/www/plack-example/app.psgi
### This file is /var/www/plack-example/app.psgi
use Data::Dumper;
my $app = sub {
my $env = shift;
my $headers = ['Content-Type' => 'text/plain'];
my $body = [Dumper($env)];
return [200, $headers, $body];
};
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
|