あるファイルから取得したサーバー名の存在を別のファイルで確認したい。アイデアは、2 番目のファイルに、サーバー名と追加情報を含む複数の行がそれぞれに含まれているということです。
したがって、例の名前「server01」の出力は
server01
server01
server01
もちろん、両方のファイルに存在する名前ごとに、出力xlsファイルに1回だけ入れたいです。
これまでのプログラムは次のとおりです。
#!/usr/bin/perl -w
use Spreadsheet::WriteExcel;
#OPEN FILES
open(FILE, "CEP06032012.csv") or die("Unable to open CEP file");
@CEP_file = <FILE>;
close(FILE);
open(FILE, "listsystems_temp") or die("Unable to open listsystems file");
@listsystems_file = <FILE>;
close(FILE);
#XLS properties
my $workbook = Spreadsheet::WriteExcel->new('report.xls');
my $worksheet_servers = $workbook->add_worksheet();
#MAIN
my $r = 0;
foreach my $lines(@CEP_file){
my @CEP_file = split ";", $lines;
my $server = $CEP_file[8];
foreach my $lines2(@listsystems_file){
if ($lines2 =~ m/.*$server.*/i && $server ne ""){
print "$server \n";
#print "$lines2 \n";
$worksheet_servers->write($r, 0, "$server");
$r++;
}
}
}
exit();
それを変更する方法はありますか?