in reply to Extracting blocks of text
# init variable to show we're not in the blcok my $in_block = 0; while ( <> ) # process line by line { $in_block = 1 if /^head/; # test for start of block and # set flag true if needed print if $in_block; # print if we're in the block $in_block = 0 if /tail$/; # test for end of block and # set flag false if needed }
Sorry if I misunderstood your question, but according to the way I read it I think this is close. Given this file:
fvewvwef vfewejmnvwev evfjerwvnrevjwe wervkjvwe wevrjvrenwvr head vfjlevnerojvnerve head refejrverjvnerjovnerojvn ercjncer rljnelrkvnervervekjnve tail fknvbekjev nweclkneclknerclkernclenelrknclencekn cwlknelcnlcwnejnrjnrjcnjcncjncnccjn tail vjenvlejnvlejnrvlejnvejnvejnvejnvejvnejv head efcjonecjnercjnerjcnerjnc crjencerjncejlrcn tail
I get this output:
head refejrverjvnerjovnerojvn ercjncer rljnelrkvnervervekjnve tail fknvbekjev nweclkneclknerclkernclenelrknclencekn cwlknelcnlcwnejnrjnrjcnjcncjncnccjn tail head efcjonecjnercjnerjcnerjnc crjencerjncejlrcn tail
Sometimes a simple procedural style works really well, even if you have bells and whistles available. This could be written the same in almost any language. Perl just makes it easier.
|
|---|