URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5106
[ Назад ]

Исходное сообщение
"на экране не отображается вывод оператором print"

Отправлено mrDimon74 , 02-Фев-06 14:50 
создал файл primer.pl такого содержания
#!/usr/bin/perl
print"hello!";
изменил права chmod 770 ./primer.pl
когда его запускаю на выполнение на экран ничего не выводится
если в командной строке набираю perl ./primer.pl на экран выводится слово hello!
perl -wc ./ primer.pl выдает syntax ok

команда which perl выдает /usr/bin/perl
установлена ОС fedore4 при установке выбрал "устанавливать все пакеты"
подскажите, где искать причину?


Содержание

Сообщения в этом обсуждении
"на экране не отображается вывод оператором print"
Отправлено madskull , 02-Фев-06 14:59 
>создал файл primer.pl такого содержания
>#!usr/bin/perl
>print"hello!";


#!/usr/bin/perl


"на экране не отображается вывод оператором print"
Отправлено mrDimon74 , 02-Фев-06 15:13 
>>создал файл primer.pl такого содержания
>>#!usr/bin/perl
>>print"hello!";
>
>
>#!/usr/bin/perl
  у меня так и написано просто когда вопрос писал слэшь пропустил :(


"на экране не отображается вывод оператором print"
Отправлено madskull , 02-Фев-06 15:13 
Вдогонку
>когда его запускаю на выполнение на экран ничего не выводится

Как запускаете?



"на экране не отображается вывод оператором print"
Отправлено mrDimon74 , 02-Фев-06 15:20 
>Вдогонку
>>когда его запускаю на выполнение на экран ничего не выводится
>
>Как запускаете?


из под рута
в командной строке набираю ./primer.pl потом нажимаю enter
или в mc  ентером по этому файлу
результат одинаков: никакого вывода на экран


"на экране не отображается вывод оператором print"
Отправлено mrDimon74 , 02-Фев-06 16:12 
кстати сейчас заметил что такая же ситуация с командой echo в скриптах на bash
например скрипт test
#!/bin/sh
echo hello

если запускать /bin/sh ./test на экран вывод идет

а если просто ./test на экране вывода нет

раньше у меня установлена была ос LinuxASP 9 там все скрипты работали.

третий день не могу понять в чём же причина?


"на экране не отображается вывод оператором print"
Отправлено mthawk , 06-Фев-06 15:06 
>создал файл primer.pl такого содержания
>#!/usr/bin/perl
>print"hello!";
>изменил права chmod 770 ./primer.pl
>когда его запускаю на выполнение на экран ничего не выводится
>если в командной строке набираю perl ./primer.pl на экран выводится слово hello!
>
>perl -wc ./ primer.pl выдает syntax ok
>
>команда which perl выдает /usr/bin/perl
>установлена ОС fedore4 при установке выбрал "устанавливать все пакеты"
>подскажите, где искать причину?

Буферизация.
Если в конце строки нет символа перевода строки (\n, 0x0a) данные не будут выведены на экран, пока их кол-во не достигнет размера системного буфера 2048 байт по умолчанию.
Выход из ситуации:
1) Ставить в конце перевод строки print "Hello!!!\n";
2) Отключить буферизацию STDOUT
$|=1;
print "Hello!!!";


"на экране не отображается вывод оператором print"
Отправлено madskull , 06-Фев-06 18:46 

>Буферизация.

Глупости. В "середине" программы это и могло бы быть причиной.
Но не в конце программы, когда все буфера сбрасываются.


"на экране не отображается вывод оператором print"
Отправлено BeatStream , 20-Дек-08 14:19 
>
>>Буферизация.
>
>Глупости. В "середине" программы это и могло бы быть причиной.
>Но не в конце программы, когда все буфера сбрасываются.

спасибо, помогло)))))))))))