私は Perl を初めて使用します。これがこのブログでの最初の質問であり、解決されることを願っています。
フォルダーにいくつかのテキスト (10-18) ファイルがあります。すべてのファイルを読み取り、名前列に共通の変数を持つすべてのファイルと、すべてのファイルの領域列をマージしたいと考えています。例: ファイル 1.txt
名前 sim エリア Cas
aa 12 54 222
ab 23 2 343
aaa 32 34 34
bba 54 76 65
ファイル 2.txt
名前 シムエリア Cas
ab 45 45 56
abc 76 87 98
bba 54 87 87
aaa 33 43 54
ファイル 3.txt
名前 シムエリア Cas
aaa 43 54 65
ab 544 76 87
ac 54 65 76
出力は
名前 Area1 Area2 area3
aaa 32 43 54
ab 23 45 76
これに関して誰でも助けてもらえますか。私はPerlを初めて使用し、ハッシュの使用に苦労しています。
私はこれまでにこれを試しました
use strict;
use warnings;
my $input_dir = 'C:/Users/Desktop/mr/';
my $output_dir = 'C:/Users/Desktop/test_output/';
opendir SD, $input_dir || die 'cannot open the input directory $!';
my @files_list = readdir(SD);
closedir(SD);
foreach my $each_file(@files_list)
{
if ($each_file!~/^\./)
{
#print "$each_file\n"; exit;
open (IN, $input_dir.$each_file) || die 'cannot open the inputfile $!';
open (OUT, ">$output_dir$each_file") || die 'cannot open the outputfile $!';
print OUT "Name\tArea\n";
my %hash; my %area; my %remaning_data;
while(my $line=<IN>){
chomp $line;
my @line_split=split(/\t/,$line);
# print $_,"\n" foreach(@line_split);
my $name=$line_split[0];
my $area=$line_split[1];
}
}
}
これを完了する方法について誰でもガイダンスを提供できますか? 前もって感謝します。