>>> зачем тут вообще регекс? ) >> шифруемся же, код тоже должен быть запутанным )) > Сваял)))))): > $Result =~ s,(http://.+?)(?=\s|['"]),"/cgi-bin/anon.cgi?session=".encode_base64($1),ge; > Только после замены, перед последней кавычной переносит строку: > <img src="/cgi-bin/zewa.cgi?session=aHR0cDovLzIxNy4xNzIuMTguMjQxOjE1MTIxL2JhbXQvb2sucG5n > "> > В принципе, работает и так, но для красоты хотелось бы перенос убрать. > Откуда он вообще??Читаем ОПИСАНИЕ к http://search.cpan.org/~gaas/MIME-Base64-3.14/Base64.pm
Кодирование данных производится путём вызова функции encode_base64(). Первым аргументом является строка байтов для кодирования. Вторым аргументом является использование последовательности конца строки. Это необязательный параметр и по умолчанию "\n". Возвращаемая закодированная строка разбивается на строки не более чем 76 символов каждая и всё это заканчивается с $eol, если она не пуста. Передайте пустую строку в качестве второго аргумента, если вы не хотите, чтобы закодированная строка разбивалась на подстроки (части).Функция будет вызывать croak с "Wide character in subroutine entry", если $bytes содержит символы с кодом выше 255. Кодирование base64 определяется только для однобайтовых символов. Используйте модуль Encode, чтобы выбрать кодировку байт, кторую вы хотите. hint encode_base64($1,"")
|