|
|
|
Supreme 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:
Кто нибут может обяснит куда пропадает массив ?
|
|
|
|
|
новичок
      
участник
Last Login: 02.08.2005 16:10
Сообщ.: 6,
Visits: 67
|
|
а ты не пробовал отключить буферизацию вывода?
#!/usr/bin/perl -w
$| = 1
и дальше по тексту
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.10.2007 14:51
Сообщ.: 203,
Visits: 2 235
|
|
|
|
|
|
новичок
      
участник
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;
|
|
|
|
|
новичок
      
участник
Last Login: 02.08.2005 16:10
Сообщ.: 6,
Visits: 67
|
|
а зачем тебе запятая в строке
print "Array: @{m1}", "";
почему не
print "Array: @{m1}";
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.10.2007 14:51
Сообщ.: 203,
Visits: 2 235
|
|
Спасибо за ответи.
после добавление $| = 1 иногда показивает нормално.
похоже тут проблема связи Apache<->Perl(mod_perl).
P.S.
это проблемная част из одной тестовой программи. поетому
все тут упрощенно: выводится в консол, а не файл.
Запятая - ранше был так
print @m1 , "";
и от этово остался.
|
|
|
|