while($line=<>) { chomp $line; if($line=~m//) { print "$line\n"; system("cat new_content_for_reanalyzed_tag_file"); do { $line=<>; chomp $line; } until($line=~m/<\/REANALYZED>/); print "$line\n"; } elsif($line=~m//) { print "$line\n"; system("cat another_file_for_this_tag"); . . . etc. } else { print "$line\n"; }