perlyr has asked for the wisdom of the Perl Monks concerning the following question:
Hi guys,
I want to write a loop and do the following: 1) first, find keyword "Intel". 2) second, extract 2 lines. 3) then match "Dell". 4) contiue this loop until it finds "Dell" and then stop.
Below is a sample of the text file.
Thanksmy $str = <<STR; ended June 30, 2001 in conformity with accounting principles generall + Intel +y accepted in the United States of America. Also in our opinion, the related fina +ncial statement schedule, when considered in relation to the basic consolida + +ted in the United States of America. Also in our opinion, the related fina +ncial statement schedule, when considered in relation to the basic consolida + Intel in the United States of America. Also in our opinion, the related fina +ncial Dell in the United States of America. Also in our opinion, the related fina +ncial statement schedule, when considered in relation to the basic consolida + Intel dell financial statements taken as a whole, presents fairly, in all materia +l respects, the information set forth therein. Melville, New York September 26, 2001 STR Update: my($block, @block, $catch, $count); my $keyword = 'Intel'; do { (@block) = $str =~ /($keyword(?:[^\n]*\n){1,3})/img; foreach $block(@block){ ($catch) = $block =~ /(dell)/ig; } } until ($catch =~ /\w+/); print OUT "$keyword\t"; print OUT "$catch\n"; exit; close OUT;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Write a Loop
by SuicideJunkie (Vicar) on Jul 19, 2012 at 19:37 UTC | |
|
Re: Write a Loop
by ww (Archbishop) on Jul 20, 2012 at 01:13 UTC | |
by perlyr (Novice) on Jul 21, 2012 at 01:41 UTC | |
by Anonymous Monk on Jul 21, 2012 at 02:14 UTC | |
|
Re: Write a Loop
by bulk88 (Priest) on Jul 20, 2012 at 04:10 UTC | |
|
Re: Write a Loop
by davido (Cardinal) on Jul 21, 2012 at 22:17 UTC | |
by perlyr (Novice) on Jul 23, 2012 at 17:32 UTC |