in reply to Re: Re: Re: Long URLs and Text::Wrap
in thread Long URLs and Text::Wrap

Maybe my conundrum is different, but I'd like it to output text like below, with text wrapped but URLs not. How would you do this? I thought of doing a split on the URL regex I found here, but that could get messy quick...

Thanks!
Troy

---

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/thefederalgovernment/oy_veit/email/the_email_template.html

This is the concluding block of text that will appear AFTER
the URL.

If this block is NOT at the bottom of the email, then we
need to fix the wrapping algorithm!

  • Comment on Re: Re: Re: Re: Long URLs and Text::Wrap

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: Long URLs and Text::Wrap
by davistv (Acolyte) on Nov 20, 2003 at 21:07 UTC
    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!