in reply to RegEx on more than one line

Chip's idea is not a bad approach, unless you're dealing with a really big data file (as in megabytes, more than the amount of available RAM). If so, maybe it's the case (as suggested by your example) that your data is structured in multi-line records, with a consistent string that marks the end of each record.

To pull an entire multi-line record into $_ in a single read iteration, play with the "$/" (record-separator) variable:

$/ = '---------End Data--------\n'; # or whatever while (<>) { if (/name\s+-+\s+(.*)/) { # "\s+" matches "\n", "(.*)" doesn't $whatIwant = $1; # do something with $whatIwant... } }