my @answers; while (my $line = ){ for my $re (@res){ my @results; if (@results = $line =~ /$re/){ push @answers, ["@results"]; #### } } } #### # ... for my $re (@res){ my @results; push @answers, \ @results if @results = $line =~ $re; } # ...