исчезает массив данних при grep
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



исчезает массив данних при grep Expand / Collapse
Автор
Сообщение
25.07.2005 15:55
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 04.10.2007 14:51
Сообщ.: 203, Visits: 2 235
Привет всем.

ест такая программа.


#!/usr/bin/perl -w
print "content-type: text/html";

my @my_array =
qw(20010717 20010717 20010718 20010718 20010719 20010719);
my @m1 = grep {! $_{$_}++ } @my_array;
print "Array: @{m1}", "";


Из линух консола видает следыши результат:

debian:# ./test.pl
content-type: text/html

20010717 20010718 20010719
debian:#


но через CGI это программа печатает толко

Array:


Кто нибут может обяснит куда пропадает массив ?
Сообщ. #876523
25.07.2005 19:56
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 02.08.2005 16:10
Сообщ.: 6, Visits: 67
а ты не пробовал отключить буферизацию вывода?


#!/usr/bin/perl -w
$| = 1


и дальше по тексту
Сообщ. #876563
28.07.2005 8:29
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 04.10.2007 14:51
Сообщ.: 203, Visits: 2 235
непомогло
Сообщ. #876748
28.07.2005 10:41
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 02.08.2005 16:10
Сообщ.: 6, Visits: 67
все таки похоже тут дело в буферизации. попробуй сначала составить полную строку и потом ее целиком напечатать. Наподобие


$| = 1;
my $html = "content-type: text/html";

my @my_array =

qw(20010717 20010717 20010718 20010718 20010719 20010719);

my @m1 = grep {! $_{$_}++ } @my_array;
$html .= "Array: @{m1}", "";
print $html;


Кроме того, ты выводишь на консоль или в файл? Если в файл, то
в самом начале надо выбрать дескриптор файла функцией select


select MYFILE;
Сообщ. #876754
28.07.2005 12:59
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 02.08.2005 16:10
Сообщ.: 6, Visits: 67
а зачем тебе запятая в строке

print "Array: @{m1}", "";


почему не

print "Array: @{m1}";
Сообщ. #876771
29.07.2005 8:53
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 04.10.2007 14:51
Сообщ.: 203, Visits: 2 235
Спасибо за ответи.

после добавление $| = 1 иногда показивает нормално.
похоже тут проблема связи Apache<->Perl(mod_perl).

P.S.
это проблемная част из одной тестовой программи. поетому
все тут упрощенно: выводится в консол, а не файл.

Запятая - ранше был так
print @m1 , "";
и от этово остался.
Сообщ. #876857
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 3:46