A variant using a regex:
use warnings; use strict; $/ = ''; while (<DATA>) { m|\G[\n\s]*(.*?)<br />[\n\s]*(.*?)(?:<br />[\n\s]*(.*?))?(?:<br />){ +2}[\n\s]*|isg; my $url = $3 || ""; print "Name: $1\nAddr: $2\nURL: $url\n\n"; }
__DATA__ Name<br /> Address<br /> URL<br /><br /> Name2<br /> Address2<br /><br /> Name: Name Addr: Address URL: URL Name: Name2 Addr: Address2 URL:
In reply to Re: Regexp with optional group containing backreference
by GrandFather
in thread Regexp with optional group containing backreference
by knewter
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |