Xpoint
   [напомнить пароль]

Непонятные пробелы в загруженном файле

Метки: [без меток]
[удл]
2007-01-24 17:01:58 [обр] Andrej[досье]
Нужно загрузить главную страничку сайта (index.html) в textarea, приведенный ниже скрипт замечательно работает но все строчки index.html (кроме первой) вставленные в textarea начинаются почему-то с одного пробела. Почему так и как от этого можно избавиться? Объясните пожалуйста.
my @topic = ();
open (TOPIC, "< $directory/index.html") or die "Can't open file topic $!\n";
flock(TOPIC,LOCK_SH);
while (<TOPIC>) {
   s|<|&lt;|g;
   s|>|&gt;|g;
   push @topic, $_;
}
close (TOPIC) or die "Can't close file topic $!\n";
print("<textarea name=\"tekst\" rows=\"30%\" cols=\"120%\">@topic</textarea><br>");
спустя 34 минуты [обр] Алексей В. Иванов(100/2861)[досье]
join ...или не использовать список, а прибавлять к строке $topic.=$_.
спустя 4 часа 54 минуты [обр] ginnie(0/6)[досье]

Возможен вариант:

print( q{<textarea name="tekst" rows="30%" cols="120%">}, @topic, q{</textarea><br>} );

но в приведенном примере я бы сделал print $_; вместо push...

спустя 15 часов [обр] Алексей Севрюков(198/1280)[досье]

Смотрим perldoc pervar, $,.

Можно сделать так:

undef $,;

и тогда при интерполяции массива он будет печататься без пробелов.

только так вот убивать глобальные переменные я бы не советовал, а сделал бы так:

{
local $,;
print "@content";
}

P.S. Разумеется намного проще использовать join или склеивать строки и массив с помощью ., как уже было замечено. Мой пост - всего лишь объяснение почему так просходит.

Powered by POEM™ Engine Copyright © 2002-2005