http://www.perlmonks.org?node_id=983679


in reply to get n lines before or after a pattern

What have you tried? What didn't work? See How do I post a question effectively?.

There are two ways I can think of doing this. Probably the simpler from your perspective would be to iterate over lines in a while loop, and set up some state variables to stash values. Then, when you hit a lastname line, you can test the value of $name (or $hash{name}) to see if it is jack, outputting all relevant information if it is.

The more complex approach would be using regular expressions with the m and g modifiers. This is how I'd do, but tends to be a little more fragile, less obvious for code review and more challenging for the neophyte.


#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.