Perl: выводит только одну строку

Это третий вопрос того же проекта: я пытался найти строку «Distance:» из «pairAngles.txt» в каждой из более чем 2000 подкаталогов; имена подкаталогов получены из файла CSV. После передачи eol => $ / в Text :: CSV_XS-> new AND использовать $ csv-> скажем, результат будет по-прежнему одной строкой ...

#!/usr/bin/perl -w
use strict;
use warnings;
use File::Find;
use Text::CSV_XS;

my @pairs=();
my @result=();
my $c1;
my $in;
my $out;
my $pairs;
my $dist = "";
my $dir = "/home/avabelieve/aaPROJECT/helicalPair_ax/selectedPairs/renumberedPdb/clusterPairs-1.25-12-05_windows.12.resle3.2A.RMSD1.3/oligomerAngle";
my $cluster = "clst1.csv";
open ($in, $cluster) || die "cannot open \"$cluster\": $!";
my $cU = "clst1Updated.csv";
open ($out, ">$cU") || die "cannot open '$cU' $!";
my $csv = Text::CSV_XS->new ({ binary => 1, auto_diag => 1, eol => $/ });

while ($c1 = <$in>) {
    chomp $c1;
    push @pairs, $c1;
}

foreach $c1 (@pairs) {
    find (\&Matches, "$dir/$c1");
    sub Matches {
        open ($pairs, "pairsAngles.txt") or die "$!";

        while (my $dist = <$pairs>) {

            if ($dist =~ m/Distance: /) {                    
                chomp $dist;
                push (@result, "$dist\n");
            }               

        } 
    }
}
chdir "..";

if (not $csv->eof) {
    $csv->error_diag();
} 

$csv->say ($out, [@pairs, @result]);
close $out or die "$!";

Ответы на вопрос(2)

Ваш ответ на вопрос