Задача - есть два файла file1 и file2 с текстовыми строками (в основном разными), но возможны дубликаты строк (в двух файлах одинаковая строка). Вот от одинаковых строк в разных файлах надо избавится и записать результат (без дублей) в третий файл. Пишу скрипт на перле: #!/usr/local/bin/perl open (IN1, "<file1"); open (OUT, ">file_with_results"); while ($file1 = <IN>) { chomp($file1); open (IN2, "<file2"); $dubl = 0; while ($_ = <IN>) { if (/$file1/i){$dubl = 1 ;} } close IN2; next if ($dubl); print OUT $file1,"\n"; } close IN1; close OUT; То есть алгоритм туп как пробка - для каждой строки из file1 проверяем ее наличие по всему file2, каждый раз открывая его заново. Но где то я ошибся, скрипт на выход выдает только первую строку из первого файла и все. ПОдскажите, как реализовать желаемое?
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [perl] упростить код (2010)
- Форум Добавление элементов в hash reference в рекурсивной функции (2015)
- Форум Perl: помогите со скриптиком вытаскивания адресов (2006)
- Форум Покритикуйте плагин (2018)
- Форум Postfix -> gnupg ->mailclient Что делать с заголовками писем. (2009)
- Форум Perl (2001)
- Форум [perl] Запись/модификация UTF16-LE файла (2010)
- Форум Can't locate find.pl in @INC (2015)
- Форум Squid и redirect'ор (2003)
- Форум Решил освоить perl =) (2005)