in reply to Select data between a START and END pattern

Try this:
while (<DATA>) { /\d\s+(.*?)\s+seconds$/i && print "Test Data: $1\n"; } __DATA__ 192.168.1.1 seconds 192.168.1.1 links.html links, index.html index 10 seconds 192.168.1.1 article1.html art1, article2.html art2, adpage 200 second +s
As for how to explain what you were doing wrong ... I've got a feeling you missed something in what tools you should apply. The flip-flop operator ("..") works something like:
while (<DATA>) { next unless /START/ .. /END/; print $_; } __DATA__ asdf START 1 2 3 END asdf

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.