If only ... It only works "perfectly" if you are certain that you will never have two lines like this in a row:
more junk http://www.foo.com
http://www.fiddle.com
The line $string =~ s/\n//g; removes the new line after each URL. After removal, there is no white space after either of the above URLs so the regex (which terminates the URL with whitespace) doesn't match and nothing gets printed out. Here's a demo:
Both this example and JavaFan's post underscore the fact that one needs to define the difference between a new line that ends a URL and a new line that should be ignored because the URL continues onto the next line.
Best, beth |