#! /usr/bin/perl
use strict;
use warnings;
use URI::Find::Schemeless;
use HTML::Entities qw(encode_entities);

my $text = q~
    hallo dies ist keine.url
    dies ist aber eine: www.fabiani.net
    ftp.irgendwas.de/test/thisfile mailto:martin@fabiani.net oder so
    yeah martin@fabiani.net http://www.fabiani.net/
    ~;


# neues URI::Find::Schemeless-Objekt erstellen und ihm als Callback
# die Aktion mitgeben, die fuer jede gefundene URI ausgefuehrt werden
# soll:

my $finder = URI::Find::Schemeless->new
    ( 
      sub {
	  my ($uri, $originalUri) = @_;
#        return qq~<a href="$uri" target="_newpage">$originalUri</a>~;
	  
	  return 
	      q/<a href="/ . encode_entities("$uri") . q/">/ .
	      encode_entities($originalUri) . q~</a>~;
      }
      );

# hier beginnt die eigentliche Suche und (in unserem Fall) Ersetzung:		
my $howManyFound = $finder->find(\$text);

# schauen wir uns doch das Ergebnis an:
print "$howManyFound URIs found\n";
print "$text\n";
