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:
use strict; use warnings; undef $/; my $string = <DATA>; $string =~ s/\n//g; while ($string =~ /(http:\S*)\s/g) { print $1, "\n"; } __DATA__ http://www.baz.com xxx more junk http://www.foo.com http://www.fiddle.com
outputs only http://www.foo.com
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
In reply to Re^3: Continue reading regex to next line
by ELISHEVA
in thread Continue reading regex to next line
by learningperl01
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |