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

sreek3502 has asked for the wisdom of the Perl Monks concerning the following question:

I have an input file having following contents

SCHEDULE "TEST"

DESCRIPTION "Do Some stuff"

MINUTE "53"

HOUR "21"

SCHEDULE "DUMMY CHECK"

DESCRIPTION "Do some stuff"

Check something

INTERVAL "10m"

MINUTE "50"

HOUR "21"

I need to match the 3rd line after the matched line SCHEDULE "DUMMY CHECK" which is INTERVAL "10m". I have written the below code for that purpose, however i'm not sure if this is the exact way of doing it, or do we have any simple other logics.

use strict; use warnings; my $file = "input.txt"; my @data; open (IN,"<","$file"); my $count = 0; while (<IN>) { $count = 1 if /SCHEDULE\s"(DUMMY\sCHECK)".*/; if ($count >= 1 and $count <= 6) { @data = $_; print @data; $count++; } }