Here is an overly simplified version of what I am trying to accomplish:

#!/usr/bin/perl use strict; use warnings; $SIG{'INT'} = \&print_var; my $i = 0; $i++ while 1; sub print_var { print $i . "\n"; }

Obviously this code doesn't do anything useful;
this is really a skeleton of what I would like to do.

It sounds like Term::Readkey will be what I need. Assuming what I think 'non blocking way' means is correct, (I think it means allowing user input without stopping program execution) then yes this is what I want to do. (In fact I'm off to do some research on this very concept.)

Re: The Threaded Method
I'm not sure how to implement this, you seem to be telling me to fork my continual loop and then in the main program wait for the user input? Wouldn't I need to use signals to communicate with my forked process?
Really I think my lack of experience with threaded applications really shows as I've only ever forked a Perl program into the background using the & operator from the CLI. While I don't think this is the method I will implement for this program, can you suggest some good resources to learn about threading?

Gents, thanks for all your help, I really think you've pointed me in the right direction.


In reply to Re: Sending Signals / Keyboard Interrupts by PyrexKidd
in thread Sending Signals / Keyboard Interrupts by PyrexKidd

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.