我是Perl新手,這是我希望在本博客中解決的第一個問題。根據perl中的一列合併多個文本文件
我在一個文件夾中有一些文本(10-18)文件,我想要讀取所有文件併合並所有文件中名稱列中具有公共變量的文件及其區域列。 例如: 文件的1.txt
名稱SIM區CAS大全MSDS
AA 12 54 222
AB 23 2 343
AAA 32 34 34
BBA 54 76 65
文件2.txt
名稱辛區CAS大全MSDS
AB 45 45 56
ABC 76 87 98
BBA 54 87 87
AAA 33 43 54
文件3.txt
名稱辛區CAS大全MSDS
AAA 43 54 65
AB 544 76 87
AC 54 65 76
輸出應該是
名稱區域1區域2區域3
aaa 32 43 54
ab 23 45 76
任何人都可以幫忙。我是一個非常新的Perl並且努力使用Hashes。
我已經試過這到目前爲止
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];
}
}
}
任何人都可以就如何完成這個指導? 在此先感謝。
這工作得很好非常感謝你對不起已故的答覆 – 2013-04-18 06:22:05