Jan Eden <mailto:[EMAIL PROTECTED]> wrote: : Hi, : : I use the following regex to split a (really simple) file into : sections headed by <h1>.+?</h1>: : : while ($content =~ m#<h1>(.+?)</h1>(.+?)(?=<h1>)#gs) { : ... : }
The answer may be in your description. Use 'split'. When you use a capture inside the regular expression in 'split', the capture is returned. @content is 'shift'ed to rid the first empty element (or filled if there is something before the first <h1>) returned by split. #!/usr/bin/perl use strict; use warnings; use Data::Dumper 'Dumper'; my $content = do{ local $/ = undef; <DATA>; }; my @content = split m|<h1>(.+?)</h1>|, $content; shift @content; print Dumper [EMAIL PROTECTED]; __END__ <h1>heading 1</h1> Some stuff <h1>heading 2</h1> Some stuff <h1>heading 3</h1> Some stuff <h1>heading 4</h1> Some stuff HTH, Charles K. Clarkson -- Mobile Homes Specialist 254 968-8328 -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>