use strict; use warnings; use Tie::File; my $test_file = 'tietest.txt'; local $/ = "\nPAGE_BEGIN\n"; my $mark1 = '%%DELETE_PAGE%%'; tie my @tied_metafile, 'Tie::File', $test_file; for my $i ( reverse ( 0 .. $#tied_metafile ) ) { splice @tied_metafile, $i, 1 if $tied_metafile[$i] =~ /\Q$mark1\E/; } untie @tied_metafile;