in reply to Using HTML templates

Have a look at the URI module. It will let you rewrite an URL in terms of its relation to another URL. You create a URI object of the URL you want to rewrite, and then you simply ask the object to print out how to get to it, relative to where you are now.

Playing with code makes it easy to understand. Have a look what this prints out.

#! /usr/bin/perl -w use strict; use URI; my $image = 'http://www.example.com/img/navleft1.jpg'; my $i = URI->new($image); print 'relative ', $i->rel('http://www.example.com/story/page4.html'), + "\n"; print 'relative ', $i->rel('http://www.example.com/story/down/here/pag +e6.html'), "\n";

That said, I believe (although I could be wrong) that the most efficient way to reference an URL it to give it the absolute path relative to the current host. Which means in your case, you want to emit '/img/navleft1.jpg'. In which case all you have to do is use the path method. The result of this is that you minimise the number of directories you have to stat.

update: I didn't remember to say this earlier, but another approach would be to build an image server: a web server that is tuned specifically to pumping out static objects (thus, images) on a separate host.


print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u'