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


in reply to Extract Data Between Lines

While the other suggestions are superior, you don't need to use a regex with $/

use strict; use warnings; $/ = "\nobject "; while (<DATA>) { chomp; print "'$_'\n" } __DATA__ object network Microsoft.Lync.Host.3 host 138.108.25.111 description Help Desk Ticket #476739 object network Microsoft.Lync.Host.4 host 138.108.25.112 description Help Desk Ticket #476739 object network Microsoft.Lync.Host.5 host 138.108.25.113 description Help Desk Ticket #476739 object network Microsoft.Lync.Host.6

output

'object network Microsoft.Lync.Host.3 host 138.108.25.111 description Help Desk Ticket #476739' 'network Microsoft.Lync.Host.4 host 138.108.25.112 description Help Desk Ticket #476739' 'network Microsoft.Lync.Host.5 host 138.108.25.113 description Help Desk Ticket #476739' 'network Microsoft.Lync.Host.6 '

The first record needs to be massaged since object isn't preceded by a newline.