#!/usr/bin/perl use strict; use warnings; while (defined (my $line = )) { process_record($line) if $line =~ /^\s*SCHEDULE "DUMMY CHECK"/; } sub process_record { my $line = shift; #the "trigger line" print $line; for (1..3) #maybe have regex for "end of record"? { my $line = ; print $line; } print "\n"; #just a spacer } =prints SCHEDULE "DUMMY CHECK" DESCRIPTION "Do some stuff" Check something INTERVAL "10m" SCHEDULE "DUMMY CHECK" DESCRIPTION "Do some more stuff" Check something INTERVAL "30m" =cut __DATA__ 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" SCHEDULE "TEST" DESCRIPTION "Do Some stuff" MINUTE "53" HOUR "21" SCHEDULE "DUMMY CHECK" DESCRIPTION "Do some more stuff" Check something INTERVAL "30m" MINUTE "50" HOUR "21"