#!/usr/bin/perl use strict; use warnings; undef $/; open (FILE, '<', 'sample.txt') or die "Could not open sample.txt: $!"; my $file = ; my ($printline) = $file =~ m/.*?(print from.*?closing).*/sg; print $printline; close (FILE) or die "Could not close sample.txt: $!"; #### open (FILE, '<', 'sample.txt') or die "Could not open sample.txt: $!"; open (FILE1, '>', 'output.txt') or die "Could not open output.txt: $!"; my @file = ; # Whole file here now... my $sizeconf = scalar @file; #print $sizeconf; my $j = 0; #print $file[2]; for (my $i ; $i < $sizeconf ; $i++) { if ($file[$i] =~ /print from/){ #print $i; print $file[$i] if ($file[$i] !~ /closing/); my $sum = $i+1; for ($sum; $i < $sizeconf ; $i++){ #$sum = $i+1; print "$file[$i+1]"; #$i++ ; if ($file[$i] =~ /closing/ ){ print $file[$i]; break; } } } } close (FILE) or die "Could not close sample.txt: $!"; close (FILE1) or die "Could not close output.txt: $!";