May 29th, 2013

добрый

Задачка на собеседование

Есть sql-дамп с кучей данных. Надо в дампе поменять емейлы на рандомные емейлы. Емейлом считается \w+@\w+\.w+, ну или даже можно '.+@.+\..+', это тут некритично.


Пример куска дампа:

INSERT INTO `db1` VALUES (('@qwe','asd',5,3),('wer','rtg',6,7),('ad1','qwe@asd.com',6,8),('dfg','yryw@',4,8),('ADDDONE','asd@qwe.com',8,6),('bfg','com@foo.bar',0,0))

Дамп большой - 400к записей, все в одну строчку. Естественно, после модификации этот дамп должен быть валидным для восстановления. Для понятности считаем, что файл дампа называется dump.sql.

Так как я перла не знаю, то сделал через жопу, и мне интересно, а как это делается хорошо :)
Поэтому решения на перле очень хотелось бы увидеть.

Другие языки для сравнения тоже годны.