in reply to Reading multiple lines from text file

This solution only addresses the original problem, not the subsequent refinements requested by newperlbie. It uses a file slurp and multi-line matching rather than a flip-flop so might not be useful for large files.

johngg@abouriou ~/perl/Monks $ perl -Mstrict -Mwarnings -E ' open my $inFH, q{<}, \ <<EOD or die $!; aaa23 fgfgdf pppp Released test bbb34 fgfgdf pppp Released test dfsad324 fgfgdf pppp Released test efdewr23 fgfgdf pppp Released dev dsarfew234 fgfgdf pppp skip dev dqewr2321 fgfgdf pppp skip prod sdsw32 fgfgdf pppp Released prod asdw234 fgfgdf pppp Released prod sadw2342 fgfgdf pppp Released qa deww234 fgfgdf pppp Released qa qdrqew234 fgfgdf pppp block qa swd234 fgfgdf pppp Released manage swdq234 fgfgdf pppp Released manage dfwfr43 fgfgdf pppp Released manage drqewr234 fgfgdf pppp Released manage aaa23 fgfgdf pppp Released test bbb34 fgfgdf pppp Released test EOD do { local $/; <$inFH>; } =~ m{([^\n]+dev.*manage\n)}ms && print $1;' efdewr23 fgfgdf pppp Released dev dsarfew234 fgfgdf pppp skip dev dqewr2321 fgfgdf pppp skip prod sdsw32 fgfgdf pppp Released prod asdw234 fgfgdf pppp Released prod sadw2342 fgfgdf pppp Released qa deww234 fgfgdf pppp Released qa qdrqew234 fgfgdf pppp block qa swd234 fgfgdf pppp Released manage swdq234 fgfgdf pppp Released manage dfwfr43 fgfgdf pppp Released manage drqewr234 fgfgdf pppp Released manage

I hope this is of interest.

Cheers,

JohnGG