perl -ne 'print if /Pattern1/ .. /Pattern2/' file1 #### #!/usr/bin/perl use strict; use warnings; our $fh; our $log; open($fh,">","file1"); open ($log,">","file2") or die "can not open file $log : $!\n" ; while($fh){ if (/Pattern1 .. /Pattern2/) {printf $log;} } #### "Use of uninitialized value in pattern match (m//) at temp.pl line 11."