The problem is that the right part of the flip-flop is never true, as it contains the
$i < 2 condition together with the regex. If you want to stay with the flip-flop, I'd modify it to something like the following:
my $i = 1;
while (<DATA>) {
if ($i and /Startpoint/ ... /slack/ && $i--) {
print $_;
}
}