while (<$fh>) { if (my @queue = /(\w+) \((\d+)% \/ (\d+) of \d+ \| event (\d+)% \/ (\d+) of \d+\)/) { push @queues, \@queue; } elsif (my ($group) = /^BS: (\w+)/) { while (@queues) { my $queue = shift(@queues); print(join("\t", $group, @queue), "\n"); } } }