#!/usr/bin/perl use strict; use warnings; open my $fh, "<", 'o33.txt' or die $!; my $cfile = do {local $/; <$fh>}; close $fh or die $!; $cfile =~ s/^[\t ]*reports?\((?s:.*?)\);?[\t ]*\n//gm; print $cfile; __END__ ^[\t ]* optional leading spaces/tabs from beginning of line, (the 'm' modifier) reports? reports with the 's' optional \( left paren (?s:.*?) allow '.' to match newline in this scope (between parens) \) closing paren ;? optional ';' [\t ]* optional spaces/tabs \n ends with newline