Forum Webscript.Ru
Программирование => Perl => Тема начата: от 13 Июня 2002, 01:10:50
-
Загружаю в TEXTAREA (Perl, Apache, Windows, IE5.0) простой текстовый файл (или HTML для правки). В начале каждой строки появляется пробел, которого не было.
Чистка $text=s/\\r//g; не помагает. Что же это? Причем, если из TEXTAREA обновить этот файл, то сколько не обновляй, пробелы уже не появляются - так один в начале каждой строки и висит.
Приходится специально резать в массив
@TEXTAREA=split(\'\\n\',$FORM{\'TEXTAREA\'});
и записывать построчно
foreach(@TEXTAREA) { s/^ //g; #убирать этот символ
print FILE "$_\\n";
}
Тогда если смотреть файл в редакторе, то пробелов в начале нет, а при загрузке из него в TEXTAREA есть!
Как обойтись без этой нарезки $FORM{\'TEXTAREA\'}?
При декодировании QUERY_STRING, как обычно:
$name =~ tr/+/ /; $value =~ tr/+/ /;
Может эта пауза появляется? Но как же без этой замены?
В адресе в QUERY_STRING после каждой строки идет %0D%0A.
Кто знает, как правильно работать с TEXTAREA, чтобы там ничего лишнего не появлялось, ни при считывании в TEXTAREA, ни при записи из TEXTAREA?
Ладно бы еще только HTML - ему эти паузы в начале нипочем, а если есть необходимость через web-интерфейс править код Perl? Тут никакие дополнительные пробелы не проходят...
-
Гм...
Про сабж не знаю...
1. Не помню подобных проблем, хотя часто делаю тоже самое.
2. А почему CGI.pm не используешь? (может проблема и сама собой пропадёт)
ИМХО: почему на этот форум? это вопрос в Перл...
-
%0D%0A
Гадом буду, %0D%0A
это перевод строки+возврат каретки , штука характерная для Винды.
А на *никсах пробовал гонять прогу?
-
s/\\r\\n//g; И тока в путь :)
-
s/\\r\\n//g; И тока в путь
Не подходит. Нельзя \\n - все в одну строчку пишется - как это читать в TEXTAREA?
А на *никсах пробовал гонять прогу
Пробовал в online - то же самое.
-
Тогда s/\\r//g;
-
Тогда s/\\r//g;
Все равно пробел впереди выскакивает. Попробуйте сами.