私はgrep文字列 "Distance:"から "pairsAngles.txt"を2,000個以上のサブディレクトリ内にしようとしていました。サブディレクトリの名前はcsvファイルから取得されます。
ただし、次のコードは、私だけのテキストエディタで私も開いていない可能性がCSV形式で出力の巨大な単一行与える:有することにいくつかの奇妙な理由で、テキスト:: CSV_XSデフォルトについてPerl:列内の出力配列
my @pairs=qw();
my @result=();
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 });
while (my $c1 = <$in>) {
chomp $c1;
push @pairs, $c1;
foreach $c1 (uniq @pairs) {
find (\&Matches, "$dir/$c1");
sub Matches {
open ($pairs, "oligomerAngles.out") or die "$!";
while (my $dist = <$pairs>) {
if ($dist =~ m/Distance: /){
chomp $dist;
push (@result, "$dist\n");
@result = split ": ", $dist;
}
}
} } chdir "..";
if (not $csv->eof) {
$csv->error_diag();
}
$csv->print ($out, [uniq @pairs, @result]);
}
close $out or die "$!";
ありがとうございました!出来た!!!しかし、今私は別の質問があります: http://stackoverflow.com/questions/37148048/perl-redundancy-due-to-restart-in-foreach –