Я хочу проверить наличие имени сервера, взятого из одного файла в другом. Идея состоит в том, что второй файл содержит несколько строк с именем сервера + дополнительная информация в каждом.соответствует только один раз, но не более
поэтому выход для примера имя «server01» является
server01
server01
server01
я хочу иметь только один раз в выходном файле XLS для каждого имени, которые существуют в обоих файлах, конечно.
Программа до сих пор:
#!/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();
любые идеи, как изменить его?
Как удалить дубликаты на одной из страниц perlfaq. – ikegami
Эти эй точно не дублируются, как, например, второй файл содержит: 'F_server01: NO - v1' ' F_server01: LZ - v2' , поэтому часть каждой строки может быть такой же, но не всей строки ... – f00sa
вы в настоящее время выводятся точные дубликаты, и вы спрашивали, как это предотвратить. Вы меняете свой вопрос? Если да, то каков ваш новый вопрос? – ikegami