sub do_something_with { #warn Data::Dumper->Dump([\@_],[qw(*_)]),' '; my $string=shift; if ( $RE{some}{pattern}->matches(~m/^\s*direction\s*:\s*output\s*;/) ) { if ($string =~ m{timing +($RE{balanced}{-parens=>'()'} +$RE{balanced}{-parens=>'{}'})}) { # has a timing group # kill the max_transition line $string =~ s{^.*max_transition.*\r?\n}{}m; #warn Data::Dumper->Dump([\$string],[qw(*string)]),' '; }; #return $string; }; return $string; };