in reply to Question on RE based matching

A code sample would help to see what you are doing. The following may be useful as either a seed for a sample, or may help solve the problem (I can't tell which ;) ):

use strict; use warnings; local $/ = 'HEADER('; while (<DATA>) { chomp; next unless /(.*\bGENRE_BY\b\(.*\)\s*\))/s; print "HEADER($1"; } __DATA__ HEADER( LIBDAT("GTASK") VENDOR("DeltaQ") Environment("zeronom") TASK_VERSION("5.2") GENRE_BY("dumpTc") ) other stuff here HEADER( LIBDAT("GTASK") VENDOR("DeltaQ") Environment("zeronom") TASK_VERSION("5.2.1") GENRE_BY("dumpTc") )

Prints:

HEADER( LIBDAT("GTASK") VENDOR("DeltaQ") Environment("zeronom") TASK_VERSION("5.2") GENRE_BY("dumpTc") )HEADER( LIBDAT("GTASK") VENDOR("DeltaQ") Environment("zeronom") TASK_VERSION("5.2.1") GENRE_BY("dumpTc") )

Perl is environmentally friendly - it saves trees