---
name: "URI::Find::Simple"
section: "3pm"
platform: "linux"
package: "liburi-find-simple-perl"
version: "1.07-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/URI::Find::Simple"
---

# URI::Find::Simple(3pm)

a simple interface to URI::Find

## 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/neilb/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.
