my @compound; while () { if (m/^\s*/) { @compound = ($_); } elsif (m/^\s*<\/PC-Compound>/) { push(@compound, $_); process_compound(); @compound = (); } else { push(@compound, $_) if (@compound); } }