Ok, so maybe I've figured this out on my own...
Could it be simplified? I don't like the <<LINK X>> placeholders, but it's what I could figure out on a deadline.
Cheers,
Troy
#!/usr/bin/perl
use strict;
use warnings;
use Text::Wrap;
require URI::Find;
$Text::Wrap::columns = 60;
my @links;
my $data;
{
local $/;
$data = <DATA>;
}
my $finder = URI::Find->new(\&uriFound);
my $how_many_found = $finder->find(\$data);
$data = wrap("", "", $data);
# Substitute the links back in
my $i = 0;
foreach my $url (@links) {
$data =~ s/<<LINK $i>>/$url/;
$i++;
}
print "$data\n\n";
sub uriFound {
push (@links, $_[1]);
return "<<LINK $#links>>";
}
__DATA__
This is a block of text that will precede the URL that is being presen
+ted
THE URL http://xxx.yyy.com/admin/more_grassroots/bigalerts/thefeder
+algovernment/oy_veit/email/the_email_template.html
This is the mid block of text that will appear between the URLs.
http://www.google.com/search?q=POST+MSIE+GET&ie=UTF-8&oe=UTF-8
This is the after block of text that will appear after the URLs.
If this block is NOT at the bottom of the email, then we need to fix t
+he wrapping algorithm!
-------
Output:
This is a block of text that will precede the URL that is
being presented
THE URL http://xxx.yyy.com/admin/more_grassroots/bigalerts/thefeder
+algovernment/oy_veit/email/the_email_template.html
This is the mid block of text that will appear between the
URLs.
http://www.google.com/search?q=POST+MSIE+GET&ie=UTF-8&oe=UTF-8
This is the after block of text that will appear after the
URLs.
If this block is NOT at the bottom of the email, then we
need to fix the wrapping algorithm!
|