<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: PERL: Как контролировать нажатие без ожидания ввода?</title>
    <link>https://opennet.me/openforum/vsluhforumID9/7176.html</link>
    <description>Добрый день!&lt;br&gt;&lt;br&gt;Подскажите, как реализовать программу, которая бы не ожидая ввода в нужный момент знала о нажатии на клавиатуру.&lt;br&gt;Поясню. Вот, например:&lt;br&gt;&lt;br&gt;my $k;&lt;br&gt;while (1) &#123;&lt;br&gt; $k=&amp;lt;STDIN&amp;gt;;&lt;br&gt; chomp($k);&lt;br&gt; if ($k eq &quot;q&quot;) &#123;exit&#125;;&lt;br&gt; # А тут нужно вставить код, который бы выполнялся постоянно, чтобы STDIN не задерживало цикл.&lt;br&gt; &#125;;&lt;br&gt;&lt;br&gt;В этом примере, когда дело дойдёт до STDIN произойдет ожидание ввода. И пока я не введу что-либо, да ещё и плюс ENTER - ничего дальше не сдвинется. А мне нужно, чтобы цикл вращался и не затыкался на STDIN, но когда будет нажата клавиша, чтобы я знал об этом.&lt;br&gt;Как это реализовать?&lt;br&gt;&lt;br&gt;Заранее благодарен,&lt;br&gt;Вячеслав&lt;br&gt;</description>

<item>
    <title>PERL: Как контролировать нажатие без ожидания ввода? (from_mars)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/7176.html#5</link>
    <pubDate>Thu, 14 Feb 2008 00:33:01 GMT</pubDate>
    <description>&amp;gt;Ну и конечно же обычный select() тоже поможет. &lt;br&gt;&lt;br&gt;да, точно, тоже хотел посоветовать&lt;br&gt;я так делал в одном простеньком клиенте&lt;br&gt;&lt;br&gt;vec($rb, fileno(STDIN), 1) = 1; &lt;br&gt;vec($rb, fileno(CD), 1) = 1; # сокет&lt;br&gt;if (select($rb, undef, undef, 1) &amp;gt; 0)&lt;br&gt;&#123;&lt;br&gt;    if (vec($rb, fileno(STDIN), 1))&lt;br&gt;    &#123;&lt;br&gt;        $data = &amp;lt;STDIN&amp;gt;;&lt;br&gt;        warn(&quot;client: sending data to server&#092;n&quot;);&lt;br&gt;        send(CD, $data, 0) or warn(&quot;client: sending data fucked up&#092;n&quot;);&lt;br&gt;    &#125;&lt;br&gt;    if (vec($rb, fileno(CD), 1))&lt;br&gt;    &#123;&lt;br&gt;        $data = &amp;lt;CD&amp;gt;;&lt;br&gt;        warn(&quot;recivied:&#092;n$data&quot;);&lt;br&gt;    &#125;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>PERL: Как контролировать нажатие без ожидания ввода? (anonymous)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/7176.html#4</link>
    <pubDate>Wed, 13 Feb 2008 20:07:31 GMT</pubDate>
    <description>&amp;gt;Молодец. Можешь еще в сторону Term::ReadKey посмотреть. &lt;br&gt;&lt;br&gt;Ну и конечно же обычный select() тоже поможет.&lt;br&gt;</description>
</item>

<item>
    <title>PERL: Как контролировать нажатие без ожидания ввода? (sn)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/7176.html#3</link>
    <pubDate>Wed, 13 Feb 2008 06:17:25 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;sub getchar &#123; &lt;br&gt;&amp;gt;system &quot;stty&quot;, &quot;-icanon&quot;, &quot;min&quot;, &quot;0&quot;; &lt;br&gt;&amp;gt;my $key = &amp;lt;STDIN&amp;gt;;&lt;br&gt;&amp;gt;system &quot;stty&quot;, &quot;icanon&quot;, &quot;eol&quot;, &quot;^&#064;&quot;; # ASCII NUL &lt;br&gt;&amp;gt;return ($key); &lt;br&gt;&amp;gt;&#125;; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Пользуйтесь на здоровье. &lt;br&gt;&amp;gt;Всем спасибо! &lt;br&gt;&lt;br&gt;Молодец. Можешь еще в сторону Term::ReadKey посмотреть.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>PERL: Как контролировать нажатие без ожидания ввода? (slw)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/7176.html#2</link>
    <pubDate>Tue, 12 Feb 2008 20:36:01 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Подскажите, как реализовать программу, которая бы не ожидая ввода в нужный момент &lt;br&gt;&amp;gt;&amp;gt;знала о нажатии на клавиатуру. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Смотреть в сторону Curses или IO::Tty &lt;br&gt;&lt;br&gt;Вобщем после долгих ковыряний родил вот такую простую функцию, которая решает мою задачу.&lt;br&gt;&lt;br&gt;sub getchar &#123;&lt;br&gt;system &quot;stty&quot;, &quot;-icanon&quot;, &quot;min&quot;, &quot;0&quot;;&lt;br&gt;my $key = &amp;lt;STDIN&amp;gt;;&lt;br&gt;system &quot;stty&quot;, &quot;icanon&quot;, &quot;eol&quot;, &quot;^&#064;&quot;; # ASCII NUL&lt;br&gt;return ($key);&lt;br&gt;&#125;;&lt;br&gt;&lt;br&gt;Пользуйтесь на здоровье.&lt;br&gt;Всем спасибо!&lt;br&gt;</description>
</item>

<item>
    <title>PERL: Как контролировать нажатие без ожидания ввода? (AMDmi3)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/7176.html#1</link>
    <pubDate>Tue, 12 Feb 2008 17:01:10 GMT</pubDate>
    <description>&amp;gt;Подскажите, как реализовать программу, которая бы не ожидая ввода в нужный момент &lt;br&gt;&amp;gt;знала о нажатии на клавиатуру. &lt;br&gt;&lt;br&gt;Смотреть в сторону Curses или IO::Tty&lt;br&gt;</description>
</item>

</channel>
</rss>
