.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "URI::Find::Simple 3pm" .TH URI::Find::Simple 3pm "2021-03-19" "perl v5.32.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" URI::Find::Simple \- a simple interface to URI::Find .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& use URI::Find::Simple qw( list_uris ); \& my @list = list_uris($text); \& \& my $html = change_uris($text, sub { "$_[0]" } ); .Ve .SH "DESCRIPTION" .IX Header "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. .PP 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. .SS "list_uris( text )" .IX Subsection "list_uris( text )" returns a list of all the uris in the passed string, in the form output by the \s-1URI\-\s0>as_string function, not the form that they exist in the text. .SS "change_uris( text, sub { code } )" .IX Subsection "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. .SH "CAVEATS, BUGS, ETC" .IX Header "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. .PP The list_uris function returns the stringified versions of the \s-1URI\s0 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: .PP .Vb 1 \& my $text = change_uris($text, sub { shift } ); .Ve .PP may not return the same thing you pass it. URIs such as will be converted to the string 'http://jerakeen.org'. .SH "SEE ALSO" .IX Header "SEE ALSO" URI::Find, URI::Find::Iterator, \s-1URI\s0, HTML::LinkExtor, HTML::LinkExtractor. .SH "REPOSITORY" .IX Header "REPOSITORY" .SH "AUTHOR" .IX Header "AUTHOR" Tom Insam inspired by Paul Mison .PP This module is now maintained by Neil Bowers . .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (c) 2004 Tom Insam . .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.