#!/usr/local/bin/perl -w my $inblock = 0; while (<>) { if ($inblock ) { if (/^\*END/ ) { $inblock = 0; } else { s/expression_to_find/replace_with/g; # e.g. } } elsif ( /^\*DESCRIPTION ) { $inblock = 1; } print; # print $_ implicitly }