Forum Webscript.Ru

Программирование => Perl => Тема начата: от 13 Июня 2002, 01:10:50

Название: Кто спец по TEXTAREA?
Отправлено: от 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?  Тут никакие дополнительные пробелы не проходят...
Название: Кто спец по TEXTAREA?
Отправлено: glebushka от 13 Июня 2002, 03:06:17
Гм...
Про сабж не знаю...
1. Не помню подобных проблем, хотя часто делаю тоже самое.
2. А почему CGI.pm не используешь? (может проблема и сама собой пропадёт)
ИМХО: почему на этот форум? это вопрос в Перл...
Название: Кто спец по TEXTAREA?
Отправлено: Mog. от 13 Июня 2002, 19:09:51
Цитировать
%0D%0A


Гадом буду,
Цитировать
%0D%0A
это перевод строки+возврат каретки , штука характерная для Винды.
А на *никсах пробовал гонять прогу?
Название: Кто спец по TEXTAREA?
Отправлено: ESE от 14 Июня 2002, 02:52:00
s/\\r\\n//g; И тока в путь :)
Название: Кто спец по TEXTAREA?
Отправлено: от 14 Июня 2002, 05:02:59
Цитировать
s/\\r\\n//g; И тока в путь


Не подходит. Нельзя \\n - все в одну строчку пишется - как это читать в TEXTAREA?

Цитировать
А на *никсах пробовал гонять прогу


Пробовал в online - то же самое.
Название: Кто спец по TEXTAREA?
Отправлено: ESE от 15 Июня 2002, 18:07:10
Тогда s/\\r//g;
Название: Кто спец по TEXTAREA?
Отправлено: от 16 Июня 2002, 04:49:02
Цитировать
Тогда s/\\r//g;


Все равно пробел впереди выскакивает. Попробуйте сами.