Advertisement
Guest User

Untitled

a guest
Sep 16th, 2010
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.32 KB | None | 0 0
  1. # открываем 1-й файл
  2. open FILE, "<", "1";
  3. # читаем
  4. while (<FILE>) {
  5.    # вырезаем Xn и Yn
  6.    m/id=([^&]+)&s=(.+)$/;
  7.    # помещаем Xn в массив @x
  8.    push @x => $1;
  9.    # помещаем Yn в массив @y
  10.    push @y => $2;
  11. }
  12. # закрываем 1-й файл
  13. close FILE;
  14. # открываем 2-й файл
  15. open FILE, "<", "2";
  16. # "опускаем" флаг
  17. # поднятый флаг означает, что мы обрабатываем очередной блок ссылок
  18. $flag = 0;
  19. # читаем
  20. while (<FILE>) {
  21.    # если в строке есть ссылки
  22.    if (m/id=[^&]+&s=[^& ]+ /) {
  23.       # подымаем флаг
  24.       $flag = 1;
  25.       # заменяем значение в ссылке
  26.       s/id=[^&]+&s=[^& ]+ /id=$x[0]&s=$y[0] /g;
  27.    } else {
  28.       # если флаг был поднят, значит мы только что окончили обработку блока ссылок.
  29.       if ($flag == 1) {
  30.          # убираем отработанные значения из @x и @y
  31.          shift @x;
  32.          shift @y;
  33.       }
  34.       # опускаем флаг
  35.       $flag = 0;
  36.    }
  37.    # вывод обработанной строки на печать
  38.    print $_;
  39. }
  40. # закрываем 2-й файл
  41. close FILE;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement