#!/usr/bin/perl use warnings; use strict; my $file = "/path/to/file.txt"; local $/; # added after post open FILE, '<', $file; my $content = ; close FILE; if ( $content =~ m/(?<=ASDF {)(.*)plz_match(.*?)(?=})/s ) { print "Matched: |$`<$&>$'|\n"; } else { print "No match: |$content|\n";