NAME¶
URI::Find::Simple - a simple interface to URI::Find
SYNOPSIS¶
use URI::Find::Simple qw( list_uris );
my @list = list_uris($text);
my $html = change_uris($text, sub { "<a href=\"$_[0]\">$_[0]</a>" } );
DESCRIPTION¶
URI::Find is all very well, but sometimes you just want a list of the links in a
given piece of text, or you want to change all the urls in some text somehow,
and don't want to mess with callback interfaces.
This module uses URI::Find, but hides the callback interface, providing two
functions - one to list all the uris, and one to change all the uris.
list_uris( text )¶
returns a list of all the uris in the passed string, in the form output by the
URI->as_string function, not the form that they exist in the text.
change_uris( text, sub { code } )¶
the passed sub is called for every found uri in the text, and it's return value
is substituted into the string. Returns the changed string.
CAVEATS, BUGS, ETC¶
The change_uris function is only just nicer than the callback interface. In some
ways it's worse. I's prefer to just pass an s/// operator somehow, but I don't
think that's possible.
The list_uris function returns the stringified versions of the URI objects, this
seemed to be the sensible thing. To present a consistent interface, the
change_uris function operates on these strings as well, which are not the same
as the strings actually present in the original. Therefore this code:
my $text = change_uris($text, sub { shift } );
may not return the same thing you pass it. URIs such as
<
URI:http://jerakeen.org> will be converted to the string
'
http://jerakeen.org'.
SEE ALSO¶
URI::Find, URI::Find::Iterator, URI, HTML::LinkExtor, HTML::LinkExtractor.
REPOSITORY¶
<
https://github.com/neilbowers/URI-Find-Simple>
AUTHOR¶
Tom Insam <tom@jerakeen.org> inspired by Paul Mison <paul@husk.org>
This module is now maintained by Neil Bowers <neilb@cpan.org>.
COPYRIGHT AND LICENSE¶
Copyright (c) 2004 Tom Insam <tom@jerakeen.org>.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.