• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Perl Замена символов

  • Автор темы Nikson77
  • Дата начала
N

Nikson77

Люди добрые подскажите как правильно сделать замену символов в Perl. Задача такая, есть текстовый файл с огромным количеством строк:
"1111";"ИВАНОВ ИВАН ИВАНЫЧ";"П.СВЕТЛЫЙ, Д.22, КВ.11"
"2222";"ПЕТРОВ ПЕТР ПЕТРОВИЧ";"П.ТЕМНЫЙ, Д.33, КВ.22"
и т.д.
нужно заменить (, Д.) на (":)

Пытался тут чего то, но безуспешно.
_____________________________________________________
open F1, $ARGV[0] or die "Error opening file $ARGV[0]\n";
open F2, ">result.txt";
while(<F1>) {
# subst ($_,"\, Д\.","\"\;");
$str =~ s/\, Д\./\"\;/g;
print F2;}
close F2;
close F1;
_____________________________________________________

Подсобите пожалуйста. Народ советует замены в файлах большого размера делать именно на Perl, говорят так проще и быстрей, только помочь никто не может.
Спасибо.
 
V

Vovochka

А чего вы хотели?
Считываете вы в переменную $_ и пишете из нее.
А обрабатываете переменную $str;
Замените:
Код:
$str =~ s/\, Д\./\"\;/g;
На:
Код:
s/\, Д\./\"\;/g;
И надейтесь, что у вас не возникнет проблем с кодировками.
 
N

Nikson77

Спасибо большое. Все работает.
Дай Вам Бог здоровья!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!