use strict; use warnings; local $/ = 'HEADER('; while () { 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") )