#!/usr/bin/perl use strict; use warnings; my $begin_flag=0; my $end_flag=0; my $blank_line=0; my $begin_count=0; for my $i (1.. 3) { open(my $file1, '<', "input_$i.txt"); open(my $file2, '>', "output_$i.txt"); while(my $line= <$file1>) { $begin_flag =1 if($line =~ /^x/); $end_flag =1 if($line =~ /^y/); if($begin_flag==1 && $end_flag==0 && $begin_count++ >0) { print $file2 $line if($line !~ /^\s*$/); } } close $file1; close $file2; }