#!/usr/bin/perl -w
######################################################################
# linktrans.pl
######################################################################
# Perl Power! - Michael Schilli 1998
######################################################################

use LinkTrans;                         # special module
use URI::URL;                          # manipulate URLs

######################################################################
sub translate_url {                    # callback for LinkTrans
######################################################################
    my $urlstring = shift;             # URL as argument

    my $towatchfor = "http://here.com/doc/";

    if($urlstring =~ /^$towatchfor/) { # make relative if required
        return URI::URL->new($urlstring)->rel($towatchfor);
    }

    return $urlstring;                 # return untouched
}

$doc = <<EOT;
<HTML> This link (<A HREF=http://nowhere>Click!</A>) should remain.
This one instead (<A HREF=http://here.com/doc/subdoc/doc.html>Link!</A> 
should become relative. </HTML>
EOT

$parser = LinkTrans->new(\&translate_url);   # create object

$parser->parse($doc);                        # start parser

print $parser->get_result(), "\n";           # output result

