in reply to Search for a BLOCK of text and selectively replace

Just off the top of my head...I would read in the file, and search for the asterisk. When I found it, I would grab the keyword. This would be my hash key, then I would just push the lines onto the hash until I hit my next keyword...
######untested code #should be close in theory though #!/usr/bin/perl -w use strict; my $keyword=''; my %file_hash=(); while(<>) { chomp; next if (/^\;/); if ( /\*/) { $keyword=(split /\*/)[1]; } if ($keyword ne "END") { push @{$file_hash{$keyword}},$_; } } foreach my $line (@{$file_hash{'DESCRIPTION'}) { #do what ever you want with each line that falls in # the description block print "$line\n"; }
This is probably not the most elegant way of doing it, but it should get you going down some path or at least give you some suggestions. cheers! krazken